欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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()