目录
(一)类和对象的创建
(1)类
类是多个类似事物组成的群体统称,能够帮助我们快速理解和判断事物的性质 。
类的组成:
- 类的名称
- 类的属性
- 类的方法
(2)数据类型
不同的数据类型属于不同的类
使用内置函数type()查看数据类型
(3)对象
100、9、20都是int类之下包含的相似的不同个例,这个个例专业术语称之为实例或对象。
Python中一切皆对象
(4)类和对象的创建
类的创建
语法结构:
class 类名:
pass # pass属于占位符(暂时没有想好如何写程序时可以使用)
类和对象的创建
示例:学生类的创建模板
class Student: # Student是类的名称(类名),有一个或者多个单词组成,每个单词的首字母大写,其余小些
native_place = '陕西' # 直接写在类里的变量,被称为类属性
def __init__(self, name, age):
self.name = name # self.name称为实体属性,进行了一个赋值的操作,将局部变量的name值赋给了实体属性
self.age = age
# 实例方法
def eat(self):
print('学生在吃饭')
def drink(self):
print('学生喝水')
# 静态方法
@staticmethod
def method():
print('我使用了staticmethod进行修饰,所以我使用的是静态方法')
# 类方法
@classmethod
def cm(cls):
print('我是用classmethod进行修饰,所以我使用的是类方法')
# 在类之外定义的被称之为函数。在内被定义的称之为方法
def drink():
print('学生在喝水')
总结:
1.在类之外定义的被称之为函数,在类之内被定义的称之为方法。
2.在编写程序的过程中,def init(self):语句中,init(self)是自动生成的而不是自己编写的,否则会报错。
(二)类属性、类方法、静态方法、动态绑定属性和方法
(1)类属性
类属性:类中方法外的变量称为类属性,被该类的所有对象所共享 。
示例:
print(Student.native_place) # 访问类属性
(2)类方法
类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
示例:
Student.cm() # 调用类方法
(3)静态方法
静态方法:使用@Staticmethod修饰的方法,使用类名直接访问的方法
示例:
Student.sm() # 调用静态方法
(4)动态绑定属性和方法
Python是动态语言,在创建对象之后,可以动态地绑定属性和方法。
例如一个Student类可以创建N多个Student类的实例对象,但是每个实体对象的属性值不同。
示例:
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def drink(self):
print(self.name+'在喝水')
stu1 = Student('小王', 19)
stu2 = Student('小李', 20)
print('-----------为stu1和stu2绑定属性-----------------')
stu1.gender = '女'
stu2.gender = '女'
print(stu1.name, stu1.gender)
print('---------------动态绑定方法---------------------')
def show():
print('定义在类之外的称为函数')
stu1.show = show
stu1.show()
运行结果: