python类和对象的创建 类对象与类属性 类方法与静态方法 动态绑定属性和方法

本文介绍了Python编程中的核心概念——类和对象,详细讲解了类的创建、数据类型、对象的实例化以及类的组成,包括类属性、实例方法、静态方法和类方法。通过实例展示了如何创建和使用这些概念,并探讨了类属性、类方法和静态方法的使用方式。此外,还阐述了Python作为动态语言如何支持动态绑定属性和方法,使代码更具灵活性。
摘要由CSDN通过智能技术生成

两大编程思想

在这里插入图片描述

类和对象的创建

1、类
(1)类别,分门别类,物以类聚,人类,鸟类,动物类,植物类
(2)类是多个类似事物组成的群体的统称,能够帮助我们快速理解和判断事物的性质
2、数据类型
(1)不同的数据类型属于不同的类
(2)使用内置函数查看数据类型
print(type(100))
3、对象
100,99,520,都是int类之下包含的相似的不同个例,这个个例专业术语称为实例或对象
4、一切皆对象
5、类的创建
(1)创建类的语法

class student:
    pass

(2)类的组成
类属性
实例方法
静态方法
类方法

#坚持好好学习
class Student:#student 是类名,是由一个或多个组成,第一个首字母大写,其余小写,这是规范
    native_pace ='开封'#类属性,直接写在类里面的变量
    def __init__(self,name,age):
        self.name=name  #name,self称为实例属性,进行了赋值的操作,将局部变量name的值赋给实例属性
        self.age=age
        
    #实例方法
    def eat(self):#类之外定义的称为函数,类之内定义的称为方法
        print('哈哈谢谢')
        
    #静态方法
    @staticmethod #@staticmethod进行修饰,所以是静态方法
    def method():
        print('静态方法')
        
    #类方法
    @classmethod
    def cm(cls):
        print('类方法')#@classmethod进行修饰

类对象与类属性

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

#创建Student类的对象
stu1=Student('张三',20)
print(id(stu1))#1521773837352
print(type(stu1))#<class 'type'>
print(stu1)#<__main__.Student object at 0x000001F399B512E8>

stu1.eat()#对象名.方法
print(stu1.name)
print(stu1.age)
#类名.方法-->实际上就是方法定义处的self
Student.eat(stu1)#与stu1.eat()功能一样

类方法与静态方法

1、类属性:类中方法外的变量称为类属性,被该类的所有对象所共享
2、类方法:使用@classmethod修饰的方法,使用类名直接访问的方法
3、静态方法:使用@staticmethod修饰的主法,使用类名直接访问的方法

#类属性的使用方式
print('---------类属性的使用方式------------')
#print(Student.native_pace)
stu1=Student('张三',10)
stu2=Student('李四',11)
print(stu1.native_pace)
print(stu2.native_pace)
Student.native_pace='郑州'
print(stu1.native_pace)
print(stu2.native_pace)
print('-----------类方法的使用方式----------------')
Student.cm()
print('------------静态方法的使用方式---------------')
Student.method()

动态绑定属性和方法

python是动态语言,在创建对象之后,可以动态的绑定属性和方法

#坚持好好学习
class Student:
    def __init__(self,name,age):#初始化方法
        self.name = name
        self.age = age
    def eat(self):
        print(self.name+'吃饭')
#一个Student类可以创建N多个Student类的实例对象,每个实例对象的属性值不同
stu1=Student('张三',10)#stu1是Student类的实例对象
stu2=Student('李四',19)#stu2是Student类的实例对象
#为Stu2动态绑定性别属性
stu2.gender='男'
print(stu1.name,stu1.age)
print(stu2.name,stu2.age,stu2.gender)

print('----------------------')
stu1.eat()
stu2.eat()

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

#stu2.show()#没有绑定 出错
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值