类与对象
类(class)
类是多个类似事物组成的群体的统称。能够帮助我们快速理解和判断事物的性质,类是对象的抽象表示 类是对象的属性和行为的进一步封装模板,不同类的属性和行为不同 类是用来描述具有相同属性和方法的的对象的集合,类的属性和方法是集合中所有对象所共有的
创建类的语法
class 类名: 语法快
类的构造方法
使用__init__进行初始化创建类的特殊方法,也称作构造函数
class Animal:
def __init__(self):
print('疯狂动物园')
zoo = Animal()
注意:self不可以漏掉,构造方法的返回值必须是None
类的属性
属性(成员变量、类变量)必须使用self.进行赋值 slef 指的是实例本身,也可以说是指针
print('--------------------------类的属性--------------------------')
class Animal:
def __init__(self, name):
self.name = name
self.year = 100
zoo = Animal('疯狂动物园')
print(zoo.name)
print(zoo.year)
类中的方法
类的方法和函数的定义方法一样,只是需要定义在类里面,第一个参数必须是self
print('--------------------------类中的方法--------------------------')
class Animal:
def __init__(self, name):
self.name = name
def tiger(self):
print('我是:', self.name)
zoo = Animal('tiger')
zoo.tiger()
类的私有属性
定义属性名字的时候使用两条下划线开头,外部不可以直接访问私有属性
print('--------------------------类的私有属性--------------------------')
class Animal:
def __init__(self, name):
self.__name = name
def tiger(self):
print('我是:', self.__name)
zoo = Animal('tiger')
zoo.tiger()
类属性、类方法、静态方法
类属性:类中方法外的变量称为类属性,被该类的所有对象所共享 类方法:使用@classmethod修饰的方法,使用类名直接访问的方法 静态方法:使用@staticmethod修饰的主法,使用类名直接访问的方法 print(Student.native_place) #访问类属性 Student.cm() #调用类方法 Student.sm() #调用静态方法 静态方法在程序开始时生成内存,实例方法在程序运行中生成内存
print('-------------------类属性、类方法、静态方法----------------------')
class Animal:
aa = 'ss'
def __init__(self, name, year):
'''
self.name称为实体属性,
进行了一个赋值操作,
将局部变量name的值赋给实体属性
'''
self.name = name
self.year = year
def tiger(self):
print('sss')
@staticmethod
def method():
print('静态')
@classmethod
def method1(cls):
print('类')
print('1.', Animal.aa)
a1 = Animal('dd', 10)
a2 = Animal('ee', 20)
print('2.', a1.aa)
print('3.', a2.aa)
Animal.aa = 'rr'
print('4.', a1.aa)
print('5.', a2.aa)
Animal.method()
Animal.method1()
对象
100、12、122都是int类之下包含的相似的不同个例,这个个例专业术语称为实例或对象 万物皆对象,对象具有属性和行为(状态和方法) 对象也是类的实例
对象的创建
对象的创建又称为类的实例化 创建类的语法 实例名=类名() 对象名.方法名() 意义:有了实例,就可以调用类中的内容
print('--------------------------类中的方法--------------------------')
class Animal:
def __init__(self, name):
self.name = name
def tiger(self):
print('我是:', self.name)
zoo = Animal('tiger')
zoo.tiger()
|