专注Golang,Python语言,云原生,人工智能领域得博主;
过去经历的意义在于引导你,而非定义你;
欢迎点赞 收藏 ⭐留言!
- 类的定义
- 创建对象
- 类外部添加和获取对象属性
- 类内部通过self操作属性
# 在python中,定义类使用关键字 class , 语法如下
"""
# object 是所有的类基类,即最初始的类
# 类名: 遵循大驼峰的命名规范
class 类名(object):
类中的代码
"""
# 定义方式一, 推荐
class Dog(object):
pass
# 定义方式二
class Dog1(): # 括号中的内容可以不写
pass
# 定义方式三
class Dog2: # 括号也可以不写
pass
"""
新式类: 直接或者间接继承object的类, 在python3中,所有的类默认继承object类,即python3中所有的类都是新式类
旧式类(经典类): 已经过时,不推荐使用
"""
创建对象
# 定义类
class Dog(object):
# 在类中定义的函数,称为方法, 函数的所有知识都可以使用
def play(self): # 暂时不管self ,
print('小狗快乐的拆家中......')
# 创建对象 变量 = 类名()
dog = Dog() # 创建一个对象,dog
print(id(dog))
dog1 = Dog() # 创建一个对象 dog1
print(id(dog1))
# 可以使用对象调用类中的方法. 对象.方法名()
dog.play()
dog1.play()
类外部添加和获取对象属性
class Dog(object):
def play(self):
print('小狗快乐的拆家中.....')
# 创建对象
dog = Dog()
dog.play()
# 给对象添加属性 对象.属性名 = 属性值
dog.name = '大黄' # 给dog对象添加name属性,属性值是 大黄
dog.age = 2 # 给dog对象添加age属性,属性值是 2
# 获取对象的属性值 对象.属性名
print(dog.name)
print(dog.age)
# 修改属性值 和添加一样,存在就是修改,不存在,就是添加
dog.age = 3 # age 属性已经存在,所以是修改属性值
print(dog.age)
dog1 = Dog() # 新创建一个对象 dog1
dog1.name = '小白'
print(dog1.name)
类内部通过self操作属性
class Dog(object):
# self 作为类中方法的第一个形参,在通过对象调用方法的时候,不需要手动的传递实参值,是python解释器
# 自动将调用该方法的对象传递给self, 所以self这个形参代表的是对象
def play(self):
print(f'self: {id(self)}')
print(f'小狗 {self.name} 在快乐的拆家中.....')
# 创建对象
dog = Dog()
dog.name = '大黄'
print(f"dog : {id(dog)}")
dog.play()
print('-' * 30)
dog1 = Dog()
dog1.name = '小白'
print(f"dog1: {id(dog1)}")
dog1.play()



