想学Python的工程师学习之类与对象

# 项目名称:类与对象(找对象不积极思想有问题)
# 程序实现目的:
# 开发时间: 2020/12/8 15:57
# 解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间复杂关系
# 方便我们分析整个系统,具体到微观操作,仍然使用面向对象方式来处理

# 类是多个类似事物组成群体的统称
# Python中一切皆对象

# 类的创建
class Student: # Student为类的名称(类名),由一个或多个单词组成,每个单词的首字母大写,其余小写
    pass # 占位符
    native_pace='吉林' # 直接写在类里的变量称为类属性

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

    # 实例方法
    def eat(self): # 实例方法
        print('学生在吃饭!')

    # 静态方法
    @staticmethod
    def method(): # 不允许写self
        print('使用了staticmethod进行修饰,所以是静态方法!')

    # 类方法
    @classmethod
    def me(cls):
        print('使用了classmethod进行修饰,所以是类方法!')

# 在类之外定义的称为函数,在类之内定义的称为方法
def drink():
    print('学生在喝水!')

# Student是对象吗?内存有开空间吗?
print(id(Student))
print(type(Student))
print(Student)
print('----------------------')

# 对象的创建
stu1=Student('张三',20)
print(id(stu1))
print(type(stu1))
print(stu1)
stu1.eat()
print(stu1.name)
print(stu1.age)

print('------------------------')
Student.eat(stu1) # 本行代码与49行代码功能相同,都是调用Student中的eat方法
                  # 必须传入类的对象stu1

# 类属性的使用
print(Student.native_pace)
stu2=Student('李四',30)
print(stu1.native_pace)
print(stu2.native_pace)
Student.native_pace='天津'
print(stu1.native_pace)
print(stu2.native_pace)
print('----------------------------')

# 类方法的使用
Student.me() # 不需要传入参数

# 静态方法的使用
Student.method() # 不需要传入参数
print('------------------')

# 动态绑定属性和方法
class Student1:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def eat(self):
        print(self.name+'在吃饭') # 用逗号输出的时候有空格;用+输出的时候没有空格,连续输出

stu3=Student1('张三',20)
stu4=Student1('李四',30)
print('------为stu3动态绑定性别属性-------------')
stu3.gender='女'
print(stu3.gender)

print('-------------------------')
stu3.eat()
stu4.eat()

def show():
    print('定义在类之外,称为函数')
stu3.show=show # 动态绑定方法
stu3.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值