类与对象
1. 类的定义
1、、类:各个种类,如电子类、家具类、服饰类、食品类……; 2、实例:类的个例就叫做实例 (instance),可理解为“实际的例子”。
print(type('1')) # '1'属于字符串类'str'
print(type(1)) # 1属于整数类'int'
print(type([1])) # [1]属于列表类'list'
类:人类,电脑 示例:你、我;这台电脑,那台电脑
整数类,字符串类: 示例:1,2;'world','例子'
2. 类的创建和调用
class Computer: #-> 类的创建:class+类名+冒号,后面语句要缩进
screen = True #-> 类的属性创建:通过赋值语句(即定义“是怎样的”)
def start(self): #-> 实例方法的创建: def + 方法名(self):
print('电脑正在开机中……') #-> 方法具体的执行过程,即定义“能做什么”
注:
1、在类中赋值的变量叫做属性,类中定义的函数叫作方法(以此和普通函数区分)
2、实例方法是指类中参数带self的函数,是类方法的一种形式,也是最常用的用法
2.1 类的创建
1、类的创建:class+类名+冒号
class leiming():
pass #这里记得缩进
2、类的属性创建:通过赋值语句
#下面的 a 是变量
a=1
#下面的 a 是类 A() 的属性
clas A():
a=1
3、实例方法的创建:def + 方法名(self)(重点:self 代表着实例化对象)
#下面的 B() 是函数
def B():
pass
#下面的 B() 是类 A() 的方法 B()
class A():
def B(self):
pass
2.2 类的调用
class Computer:
screen = True
def start(self):
print('电脑正在开机中……')
my_computer = Computer()
print(my_computer.screen)
my_computer.start()
1、第 5 行 “my_computer=Computer()” 指实例化类 Computer ,其中 my_computer 为实例化对象(即 self = my_computer);
2、第 6 行 “print(my_computer.screen)” 指调用了实例化对象的属性screen;
3、第 7 行 “my_computer.start()” 指调用了实例化对象的方法 start;
3. 创建类的两个关键点
3.1 self(代表着实例化对象本身)
第一点:只要在类中用def创建方法时,就必须把第一个参数位置留给 self,并在调用方法时忽略它(不用给self传参)。
icon 第二点:当在类的方法内部想调用类属性或其他方法时,就要采用self.属性名或self.方法名的格式
class Chinese:
name = '我' # 类属性name
def say(person):
print(person.name + '是中国人')
person = Chinese() # 创建Chinese的实例person
person.say() # 调用实例方法
#-> 我是中国人
class Chinese:
def greeting(self):
print('很高兴遇见你')
def say(self):
self.greeting()
print('我来自中国')
person = Chinese()
# 创建实例person
person.say()
# 调用say()方法
#-> 很高兴遇见你
#-> 我来自中国
3.2 初始化方法
1、格式定义:def init(self),是由 init 加左右两边的【双】下划线组成 2、作用:当每个实例对象创建时,该方法内的代码无须调用就会自动运行
class Chinese:
def __init__ (self):
self.mouth = 1 # self.不能丢
self.eye = 2
def body(self):
print('我有%s张嘴巴' % self.mouth)
print('我有%s只眼睛' % self.eye)
person = Chinese()
person.body()
#-> 我有1张嘴巴
#-> 我有2只眼睛
以上初始化函数无需调用,一实例化直接运行。 3、利用这个特性,在编写习惯上,我们会在初始化方法内部完成类属性的创建,为类属性设置初始值,这样类中的其他方法就能直接、随时调用