Python基础:类与对象

目录

(一)类和对象的创建

(1)类

(2)数据类型

(3)对象

(4)类和对象的创建

(二)类属性、类方法、静态方法、动态绑定属性和方法

(1)类属性

(2)类方法

(3)静态方法

(4)动态绑定属性和方法


(一)类和对象的创建

(1)类

类是多个类似事物组成的群体统称,能够帮助我们快速理解和判断事物的性质 。

类的组成:

  • 类的名称
  • 类的属性
  • 类的方法

(2)数据类型

不同的数据类型属于不同的类

使用内置函数type()查看数据类型

(3)对象

100、9、20都是int类之下包含的相似的不同个例,这个个例专业术语称之为实例或对象。

Python中一切皆对象

(4)类和对象的创建

类的创建

语法结构:

class  类名:

    pass   # pass属于占位符(暂时没有想好如何写程序时可以使用)

类和对象的创建

示例:学生类的创建模板

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

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

    # 实例方法

    def eat(self):
        print('学生在吃饭')

    def drink(self):
        print('学生喝水')

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

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


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

总结:

1.在类之外定义的被称之为函数,在类之内被定义的称之为方法。

2.在编写程序的过程中,def init(self):语句中,init(self)是自动生成的而不是自己编写的,否则会报错。

(二)类属性、类方法、静态方法、动态绑定属性和方法

(1)类属性

类属性:类中方法外的变量称为类属性,被该类的所有对象所共享 。

示例:

print(Student.native_place)  # 访问类属性

(2)类方法

 类方法:使用@classmethod修饰的方法,使用类名直接访问的方法

示例:

Student.cm()  # 调用类方法

(3)静态方法

静态方法:使用@Staticmethod修饰的方法,使用类名直接访问的方法

示例:

Student.sm()  # 调用静态方法

(4)动态绑定属性和方法

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

例如一个Student类可以创建N多个Student类的实例对象,但是每个实体对象的属性值不同。

示例:

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def drink(self):
        print(self.name+'在喝水')


stu1 = Student('小王', 19)
stu2 = Student('小李', 20)

print('-----------为stu1和stu2绑定属性-----------------')
stu1.gender = '女'
stu2.gender = '女'
print(stu1.name, stu1.gender)

print('---------------动态绑定方法---------------------')


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


stu1.show = show
stu1.show()

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值