两大编程思维
类型 | 面向过程 | 面向对象 |
---|---|---|
区别 | 事物比较简单,可用线性思维解决 | 事物比较复杂,简略的线性思维无奈解决 |
共同点 | 面向对象和面向过程都是解决理论问题的一种思维形式 | |
总结 | 两者相辅相成,并不是对抗的。 解决简单问题,通过面向对象形式便于咱们从宏观上把握事物之间的简单关系、不便咱们剖析整个零碎;具体到宏观操作,依然应用面向过程的形式来解决。 |
类与对象
类
类的定义
多个相似事物组成的群体的统称。
可能帮忙咱们疾速了解和判断事物的性质。
数据类型
不同的数据类型属于不同的类。
类的创立
创立语法
- 类名:由一个或多个单词组成,每个单词首字母大写,其余小写。
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) # allinstu.info() # 我的名字是 allin ,年龄是 20Student.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代码块
:在类的外部为办法,在类的内部为函数。
一个类能够创立无数个实例对象,实例对象的属性值能够不同。
为一个对象实例动静绑定的属性和办法不会影响类及其他的实例,只作用于本身。