Python 练习题 类
程序员文章站
2022-05-19 14:14:49
...
定义一个最简单的类
定义一个类,格式如下:
class 类名:
属性列表
方法列表
class Student(object): #class表示类,Student表示类名,object表示附类
pass #pass表示占位,啥功能都没有,就是这里需要有一行语句,没有会报错。
zs=Student() #Student为类,zs为实例
zs.name='张三' #Python的对象可以动态绑定任何属性,这就是和别的编程语言极为不同
将一个对象赋值给另一个对象,只是拷贝了它的地址,其实还是指向同一个对象。要真正的生成另为一个Student,只能新的生成一个对象。
ls=zs
ls.name # 运行出来是张三
ls.name='李四'
zs.name # zs.name 运行出来是李四
练习:如何生成两个独立的学生,一个叫张三,一个叫李四?
zs=Student() #Student为类,zs为实例
zs.name='张三'
ls=Student()
ls.name='李四'
zs.name
ls.name
定义一个有默认属性的类
由于类可以起到模板的作用,因此,可以在创建的时候,把一些我们认为必须绑定的属性强制填写进去,通过定义一个特殊的“__ init __”方法。在创建实例的时候,就把name属性绑上去:
注意:特殊方法“__ init __”的前后分别有两个下划线
class Student(object):
def __init__(self): #构造函数,在对象生成时候被调用
self.name='佚名'
zs=Student()
zs.name # 佚名
zs.name='张三'
ls=Student()
ls.name='李四'
print(zs.name,ls.name) # 张三 李四
类/对象不光可以有属性,还可以有方法,比如介绍自己的方法info
class Student(object):
def __init__(self): #构造函数,在对象生成时候被调用
self.name='佚名'
def info(self):
print('我的名字是{}'.format(self.name))
zs=Student()
zs.info() #我的名字是佚名
练习:给Student类加上年龄,默认值为18,在info函数中输出:我的名字是XX,我今年YY岁了
class Student(object):
def __init__(self): #构造函数,在对象生成时候被调用
self.name='佚名'
self.age=18
def info(self):
print('我的名字是{},我今年{}岁了'.format(self.name,self.age))
zs=Student()
zs.info()
上一篇: PhotonServer入门(二)