2019年7月6日 类与对象2

时间:2022-06-08 11:44:21
class Chinese:
    'chinese people 的类'
    dang='GCD' #定义来属性
    def sui_di_tu_tan():#将自身传递给参数
        print('随地吐痰')
    def cha_dui(self):
        print('插到了前面')


print(Chinese.__name__)#类名
print(Chinese.__doc__)#该类的文字说明
print(Chinese.__bases__) #类的源头 object,元祖形式
print(Chinese.__module__)#类的模块
print(Chinese.__base__)#类的源头

 》》》》

Chinese
chinese people 的类
(<class 'object'>,)
__main__
<class 'object'>

 

实例化:

 

 

class Chinese:
    'chinese people 的类'
    dang='GCD' #定义来属性
    def __init__(self,name,age,gender):#self 代表自身,初始化函数,class 中只要把名字定义为__init__,自动去运行,函数必须要有self 参数
        self.mingzi=name  #定义类名字属性,并封装到self中
        self.nianji=age
        self.xingbie=gender
        #自动return

    def sui_di_tu_tan():#将自身传递给参数
        print('随地吐痰')
    def cha_dui(self):
        print('%s插到了前面'%self.mingzi)


# print(Chinese.__name__)#类名
# print(Chinese.__doc__)#该类的文字说明
# print(Chinese.__bases__) #类的源头 object,元祖形式
# print(Chinese.__module__)#类的模块
# print(Chinese.__base__)#类的源头

p1=Chinese('name',18,'man') #实例化过程,调用类init方法生成 一个字典
# p2=Chinese.__init__(p2,'abc',22,'woman')#实例化第一个参数就是自身,此处会报错,因为self 默认已经传递
print(p1.__dict__)#内容就是上面self 封装的内容
print(p1.__dict__['xingbie'])
print(p1.mingzi)  #推荐用这个 ,实例只有数据属性,没有函数属性
Chinese.cha_dui(p1) #注意用法
p1.cha_dui() #注意用法,插队中有self 做参数,PYTHON 默认传递了self ,不用填写,self就是实例本身

》》》

{'mingzi': 'name', 'nianji': 18, 'xingbie': 'man'}
man
name
name插到了前面
name插到了前面