1,类和对象
#类,类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
创建类的三要素:
类名,属性,方法(创建时属性或者方法有一个存在,就可以创建)
##使用 class 语句来创建一个新类,class 之后为类的名称并以冒号:结尾
##类名
类名的每个单词的首字母大写
##方法
在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数
注意:self为调用该方法的对象本身,其中self不是关键字,可以用其他变量代替,不过出于见名知意的意愿,第一个参数尽量用self.
#对象,对象:现实实际存在的具体事物
举例:
class Student: #Student为类名
name = '' #在类里面的属性叫类属性,name,age为类属性
age = 0
def learn(self): #方法
print('学生读书学习')
2,内置方法
#1初始化函数(构造方法)
#构造方法在创建对象时执行
#语法: __init__() #init两边双下划线
class Person:
def __init__(self,name,sex,age): #创建初始化函数
self.name = name #name,sex,age 为实例属性
self.sex = sex #在方法内写的属性这种属性叫实例属性
self.age = age
def introduce(self):
print('self—introduce')
def eat(self):
print('eat food')
p1 = Person('zhangsan','men',17) #创建对象
print(p1) #显示对象p1的内存地址
print(p1.name,p1.sex,p1.age) #输出实例属性值
p1.introduce() #调用方法introduce()
p1.eat() #调用方法eat()
上文的代码直接输出对象,会显示对象的内存地址。其实有一个较好用的__str__方法,并且在打印这个对象的时候,不再打印对象的内存地址,而是打印__str__方法的返回值
#在打印对象的时候执行,可以直接显示对象的属性值
#语法 :__str__()
class Person:
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age