编程的两大思想-面向过程-面向对象

'''两大编程对象
    类与对象的创建
    类对象与类属性
    类方法与静态方法'''

'''创建类的语法
    class Student:
        pass
    类的组成:
        类属性
        实例方法
        静态方法
        类方法'''

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

print(id(Student))      #39337984
print(type(Student))    #<class 'type'>
print(Student)          #<class '__main__.Student'>

class Student:  #Student为类的名称(类名)由一个或多个单词组成,每个单词的首字母大写,其余小写
    native_pace='吉林'    #直接写在类里面的变量,称为类属性
    def __init__(self,name,age):    #self,name称为实体属性,进行了一个赋值操作,将局部变量的值赋给了实体属性
        self.name=name
        self.age=age
    #实例方法
    def eat(self):
        print('学生在吃饭')
    #静态方法
    @staticmethod
    def method():
        print('我使用了staticmethod进行修饰,所以是静态方法')
    #类方法
    @classmethod
    def cm(cls):
        print('我使用了classmethod进行修饰,所以是类方法')
#在类之外定义的称为函数,在类之内定义的是方法
def drink():
    print('喝水')

'''对象的创建
    对象的创建又称为类的实例化
    语法:
        实例名=类名()
        stu=Student()
    意义:有了实例,就可以调用类中的内容'''

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

#类属性的使用方式
#print(Student.native_pace)
stu1=Student('张三',20)
stu2=Student('李四',30)
print(stu1.native_pace)
print(stu2.native_pace)
Student.native_pace='天津'
print(stu1.native_pace)
print(stu2.native_pace)

#print(Student.native_place)    访问类属性
#Student.cm()   调用类方法
#Studeng.method()   调用静态方法

#动态绑定属性和方法
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)
#python是动态语言,在创建对象以后,可以动态地绑定属性和方法
stu1.gender='女'
print(stu1.name,stu1.age,stu1.gender)
print(stu2.name,stu2.age)

def show():
    print('定义在类之外的称为函数')
stu1.show=show
stu1.show()
#stu2.show()    因为stu2没有绑定show()方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值