类基础
目录
- 课题:类
- 前言
- 知识点一:类
- 1、类的定义
- 2、实例化
- 3、方法
- 知识点二:构造方法
- 1、初始化
- null
课题:类
目的:Python中 万物皆对象,这里的对象泛指的就是类了!
前言
# 问题一: 什么是类?
类是一个独立存放变量(属性/方法)的空间
# 问题二: 什么是面向过程
之前的逻辑都是自己再考虑
从到尾,自己造
轿子-砍树,木头,木头钉起来,装饰好看
# 问题三: 什么是面向对象
花钱买车
类:封装函数。
函数封装普通代码
类封装函数
# 之前我们在数据类型里面学习到了列表的方法,那是怎么做的可以让列表里面放下这么多方法呢?
列表本身就是一个类
我们的方法直接用就可以了
.append()
变量也是一个类 a = 1
底层列表也是类
知识点一:类
1、类的定义
# class 定义类的关键字 类名首字母大写(约定俗成的)
class 类名:
pass
大驼峰命名:单词的首字母大写
TestTimePerson
小驼峰
首字母小,之后的大写
变量名,都是小写。单词之间下划线隔开
示例:
class Person:
pass
类的三要素
类名
属性---变量
方法---函数
class Person:
name = 'aaa' # 定义 类属性
print(Person.name) # 访问类属性
Person.name2 = 'xxx同学' # 类外--添加类属性
print(Person.name2)
人类---> 小明同学 ---> 小明女朋友
例子:
月饼---模板
模板1---花好月圆
模板2---中秋快乐
类是抽象的,实例化实实在在存在的
水果——> 苹果、香蕉、橘子
2、实例化
实例名 = 类名()
类是实例的工厂,类提供的是母版
面向实例--面向对象
a1 = Person()# 实例化出来的对象
# print(a1.name)
a2 = Person()
class Car:
boon = 4# 轮子属性
audi = Car()# 奥迪类
bmw = Car()#宝马类
print(audi.name)
类的定义,实例化,类属性的访问
实例也是一个独立存放变量的空间
audi.owner='剑南春' # 对象添加的属性,空间是独立的,其他的访问不到,(改装车)
print(audi.owner)# 有
print(Car.owner)# 没有
# 实例化对象既能访问实例属性,也能访问类属性
# 类只能访问类属性
3、方法
封装在类里的一种特殊的函数
class Person: #定义一个名字是Person的类
def eat(self): #在Person类中定义eat方法
print('吃鸡腿')
ht=Person() #Person类的一个实例
ht.eat() #调用eat方法
---------------------------------------
class Person:
name = 'xiaoming'
def run(self): # self 就是一个参数 代表 实例本身 约定俗成self
print('正在跑')
xiaoming = Person() # 实例化对象
xiaoming.run() # ok 实例化调用方法
Person.run(xiaoming)
laowang.name = '老王' # 实例属性
print('%s正在跑'%self.name)
总结: 类的三要素必须要掌握
知识点二:构造方法
1、初始化
以双下划线开头且以双下划线结尾的固定方法,他们会在特定的时机被触发执行,__init__就是其中之一,它会在实例化之后自动被调用,以完成实例的初始化。
class Person:
def __init__(self,name): #两个下划线,初始化方法
self.name=name
def eat(self): #在Person类中定义eat方法
print('%s吃鸡腿'%self.name) #调用实例wum的name属性
wum=Person('茅台') #实例化时需要传一个参数
wum.eat() #调用eat方法
init参数传递过程
实例化产生一个类的实例——》python自动调用实例.__init__(参数)——》转换为类.__init__(实例,参数)