Python之面向对象基本语法

class Person: # 定义一个类
    version = 'v1.0' # 类属性,静态属性
    def __init__(self,name,gender,job): # 给类传参数,初始化方法
        print(id(self),self.__dict__) # 2017506592864 {}
        self.name = name  # self.变量名称为属性
        self.gender = gender
        self.job = job
        print(id(self),self.__dict__) # 2017506592864 {'name': 'henry', 'gender': '保密', 'job': '艺术家'}

    def speak(self):
        print('talking about:......')

    def speak1(self,args): # 带参数方法
        print('%s speak:%s' %(self.name,args))
# self 代表的是对象,实例化后才有self
henry = Person('henry','保密','艺术家') # 实例化一个类
print(henry.name) # 获取属性值
print(henry.gender)
print(henry.job)
print(henry)
print(id(henry),henry.__dict__) # 2017506592864 {'name': 'henry', 'gender': '保密', 'job': '艺术家'}
# 实例化对象时会执行__init__方法,通常用来初始化

# 动态属性--方法
Person.speak(henry) # talking about:...... 调用方式一
henry.speak() # talking about:...... 调用方式二
#print(Person.name) # 异常,类名不能调用属于对象的属性
print(Person.version)
print(henry.version)
henry.speak1('hello,every one')
'''
对象名:
1.可以查看静态属性和动态属性(类中的函数)
2.可以调用方法
类名:
1.可以查看静态属性(类中的属性),不需要实例化
2.类名可以实例化对象
3.类名也可以调用方法,但是要传入实例化对象作为实参
'''

猜你喜欢

转载自blog.csdn.net/qq_40199698/article/details/88379548