关于python:Python类与对象

37次阅读

共计 1454 个字符,预计需要花费 4 分钟才能阅读完成。

两大编程思维

类型 面向过程 面向对象
区别 事物比较简单,可用线性思维解决 事物比较复杂,简略的线性思维无奈解决
共同点 面向对象和面向过程都是解决理论问题的一种思维形式
总结 两者相辅相成,并不是对抗的。
解决简单问题,通过面向对象形式便于咱们从宏观上把握事物之间的简单关系、不便咱们剖析整个零碎;具体到宏观操作,依然应用面向过程的形式来解决。

类与对象

类的定义

多个相似事物组成的群体的统称。
可能帮忙咱们疾速了解和判断事物的性质。

数据类型

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

类的创立

创立语法
  • 类名:由一个或多个单词组成,每个单词首字母大写,其余小写。
class 类名:
    属性
    办法
类的组成
  • 类属性
  • 实例办法
  • 静态方法
  • 类办法

代码示例:

class Student:
    native_place = '北京'  # 类属性

    def __init__(self, name, age):  # name,age 为实例属性
        self.name = name
        self.age = age

    # 实例办法
    def info(self):
        print('我的名字是', self.name, ',年龄是', self.age)

    # 类办法
    @classmethod
    def cm(cls):
        print('类办法')

    # 静态方法
    @staticmethod
    def sm():
        print('静态方法')

对象

100、66、555 都是 int 类蕴含的不同个例,这些个例的专业术语称为实例或对象。

Python 中所有皆对象

对象的创立

对象的创立又称为类的实例化。
语法:实例名 = 类名()

stu = Student('allin', 20)
print(stu.name)  # allin
stu.info()  # 我的名字是 allin,年龄是 20
Student.cm()  # 类办法
Student.sm()  # 静态方法
Student.info(stu)  # 我的名字是 allin,年龄是 20

有了实例,能力调用类中的内容。
调用类中的办法:对象. 办法名 () 类名. 办法名(对象实例)

类属性

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

stu1 = Student('Alun', 20)
stu2 = Student('Bill', 24)

print(stu1.native_place)  # 北京
print(stu2.native_place)  # 北京

Student.native_place = '天津'

print(stu1.native_place)  # 天津
print(stu2.native_place)  # 天津
类办法

应用 @classmethod 润饰的办法,应用类名间接拜访的办法。

静态方法

应用 @staticmethod 润饰的办法,应用类名间接拜访的办法。

动静绑定对象的属性和办法

Python 是动静语言,创建对象实例后,能够动静地绑定属性和办法。

def show():
    print('我是一个函数')


stu1 = Student('Alun', 20)
stu1.gender = '男'  # 动静绑定属性
stu2 = Student('Bill', 24)
print(stu1.name, stu1.age, stu1.gender)  # Alun 20 男
stu1.show = show  # 动静绑定办法
stu1.show()  # 我是一个函数
stu2.show()  # AttributeError: 'Student' object has no attribute 'show'

def 代码块 :在类的外部为办法,在类的内部为函数。
一个类能够创立无数个实例对象,实例对象的属性值能够不同。
为一个对象实例动静绑定的属性和办法不会影响类及其他的实例,只作用于本身。

正文完
 0