B站 杨淑娟 Python学习 代码总结 Chap12类

demo1 类

# 学校:上海海洋大学工程学院
# 时间:2021/10/31 14:56

class Student:    #Student为类的名称(类名)由一个或多个单词组成,每个单词的首字母大写,其余小写
    pass

#Python中的一切皆对象,那么Student是对象吗?有内存空间吗?
print(id(Student))  #1769494892704
print(type(Student))  #<class 'type'>
print(Student)  #<class '__main__.Student'>

demo2 类的对象和创建

# 学校:上海海洋大学工程学院
# 时间:2021/10/31 14:56

class Student:    #Student为类的名称(类名)由一个或多个单词组成,每个单词的首字母大写,其余小写
   native_place='盐城'  #直接写在类里的变量,称为类属性

   '''初始化方法'''
   def __init__(self,name,age):
       self.name=name     #self.name 称为实例属性,进行了一个赋值的操作,将局部变量的name的值赋给实体属性
       self.age=age

   '''实例方法'''
   def eat(self):    #在类之内定义的称为方法,在类之外定义的称为函数
       print('学生在吃饭...')

   '''静态方法'''
   @staticmethod
   def method():
       print('我使用了staticmethod进行修饰,所以我是静态方法')

   '''类方法'''
   @classmethod
   def cm(cls):
       print('我是类方法,我使用了classmethod进行修饰')

'''--------------------------------------创建Student类的对象----------------------------------------'''

stu1=Student('张三',20)    #Student就是类对象,stu1就是实例对象
stu1.eat()
print(stu1.name)
print(stu1.age)

Student.eat(stu1)     #33行与30行的代码功能相同,都是调用Student中的类的方法

demo3 类属性的使用方式

# 学校:上海海洋大学工程学院
# 时间:2021/10/31 15:24
class Student:    #Student为类的名称(类名)由一个或多个单词组成,每个单词的首字母大写,其余小写
   native_place='盐城'  #直接写在类里的变量,称为类属性

   def __init__(self,name,age):
       self.name=name     #self.name 称为实体属性,进行了一个赋值的操作,将局部变量的name的值赋给实体属性
       self.age=age

   '''实例方法'''
   def eat(self):    #在类之内定义的称为方法,再类之外定义的称为函数
       print('学生在吃饭')

   '''静态方法'''
   @staticmethod
   def method():
       print('我使用了staticmethod进行了修饰,所以我是静态方法')

   '''类方法'''
   @classmethod
   def cm(cls):
       print('我是类方法,我使用了classmethod进行修饰')

'''------------------类属性的使用方式--------------------------------------------------'''

stu1=Student('张三',20)
stu2=Student('李四',30)
print(Student.native_place)
print(stu1.native_place)
print(stu2.native_place)

''''-------------------类方法的使用方式---------------------------------------------------'''
Student.cm()

''''-------------------静态方法的使用方式---------------------------------------------------'''
Student.method()

demo4 动态绑定属性和方法

# 学校:上海海洋大学工程学院
# 时间:2021/10/31 16:14

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def eat(self):
        print(self.name+'在吃饭')

stu1=Student('张三',20)
stu2=Student('李四',30)
print('---------------为stu2动态绑定性别属性--------------------------')
stu2.gender='女'
print(stu1.name,stu1.age)
print(stu2.name,stu2.age,stu2.gender)
print('-------------------------------------------------------------')

def show():
    print('定义在类之外的,称为函数')
stu1.show=show
stu1.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值