Python中类和对象的属性中类和对象的属性 & 方法方法
1、类的格式、类的格式
类:所有类名要求首字母大写,多个单词使用驼峰式命名,所有类都默认继承Object
class 类名[(父类)]:
属性:特征
方法:动作
注:注: python与其他语言不一样,可以动态的加载对象的属性和方法。
2、类属性、类属性 & 对象属性对象属性
类属性类属性
#定义类和属性
class Student:
# 类属性
name = 'Jason'
age = 20
object1 = Student() #使用类,创建对象
object1.age = 21 #对象属性
print(object1.name)
print(Student.name)
对象属性对象属性
class Phone:
def __init__(self,brand,price,date): #初始的,初始化,类似构造函数
'''
动态的给self空间中添加了两个属性:brand,price
'''
self.brand = brand
self.price = price
self.date = date
object1 = Phone('huawei','4999','2019/9')
print(object1.brand)
类属性与对象属性的区别:类属性与对象属性的区别:
类属性可以直接通过类名访问。__init__方法中的self属性是对象所特有的,此时访问的是实例化对象的属性。对象属性是先找
__init__中的,没找到才到类属性中找。
3、普通方法、普通方法 & 类方法类方法 & 静态方法静态方法
普通方法普通方法
格式:
def 方法名(self[,参数1,参数2]):
pass
#以下call就为普通方法
class Phone:
brand = 'xiaomi'
price = 2399
type = '米8'
#魔术方法之一:称作魔术方法 __名字__()
def __init__(self,brand,price,date): #初始的,初始化,类似构造函数
'''
动态的给self空间中添加了两个属性:brand,price
'''
self.brand = brand
self.price = price
def call(self): #self类似于java中的this
print('正在打电话...',self.note)
类方法类方法
特点:特点:
1、定义需要依赖装饰器classmethod
2、类方法中参数不是一个对象,而是类。
print(cls) # <class ‘_main_.Dog’>
3、类方法中只可以使用类属性