编程思想
-
面向过程:事物比较简单,可以用线性的思维去解决
-
面向对象:事物比较复杂,使用简单的线性思维无法解决
-
共同点:都是解决实际问题的一种思维方式
-
注意:
二者相辅相成,并不是对立的
解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间复杂的关系,方便我们分析整个系统;具体到微观操作,仍然使用面向过程方式来处理
类与对象
类
由多个类似事物组成的群体的统称。能够快速理解和判断事物的性质
- 数据类型
不同的数据类型属于不同的类
使用内置函数查看数据类型
对象
100、99、520都是int类之下包含的相似的不同个例,这个个例的专业术语称为实例或对象
Python中一切皆对象:dict、tuple、520、int、‘hello’…
类的创建
创建类的语法
class Student:
pass
Student为类的名称(类名)有一个或多个单词组成,每个单词的首字母大写,其余小写
- Python当中一切皆对象
print(id(Student), type(Student), Student)
1691786934400 <class 'type'> <class '__main__.Student'>
类的组成
- 类属性
- 实例方法
- 静态方法
- 类方法
# 类的组成
class Student:
native_place = '甘肃' # 直接写在类里的变量称为类属性
def __init__(self, name, age):
self.name = name # self.name称为实例属性,将局部变量name的值赋给了实例属性
self.age = age
def eat(self): # 实例方法 # 在类之外定义的称为函数,在类之内定义的称为方法
print('学生在吃饭...')
@staticmethod # 静态方法
def method(): # 不能存在self
print('使用了@staticmethod进行修饰,所以是静态方法')
@classmethod # 类方法
def cm(cls):
print('使用了@classmethod进行修饰,因此是类方法')
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k7BwRuYJ-1663236025267)(C:\Users\43160\Pictures\屏幕截图 2022-09-15 173032.png)]
对象的创建
- 对象的创建又称为类的实例化
- 语法:
实例名 = 类名()
- 例子:
stu.Student()
# 类的组成
class Student:
native_place = '甘肃' # 直接写在类里的变量称为类属性
def __init__(self, name, age):
self.name = name # self.name称为实例属性,将局部变量name的值赋给了实例属性
self.age = age
def eat(self): # 实例方法 # 在类之外定义的称为函数,在类之内定义的称为方法
print('学生在吃饭...')
@staticmethod # 静态方法
def method(): # 不能存在self
print('使用了@staticmethod进行修饰,所以是静态方法')
@classmethod # 类方法
def cm(cls):
print('使用了@classmethod进行修饰,因此是类方法')
# 创建Student类的对象
stu1 = Student('张三', 20) # 根据类对象所创建的实例对象
print(id(stu1), stu1, type(stu1))
stu1.eat() # 对象名.方法名
print(stu1.name, stu1.age)
Student.eat(stu1) # 类名.方法名(类的对象)-->实际上就是方法定义处的self;与stu1.eat()代码功能相同,都是调用Student中的eat方法
nt(stu1.name, stu1.age)
Student.eat(stu1) # 类名.方法名(类的对象)-->实际上就是方法定义处的self;与stu1.eat()代码功能相同,都是调用Student中的eat方法
本文探讨了编程中的面向过程与面向对象两种思维模式,解释了它们在处理简单与复杂问题上的区别,强调了类、对象、类属性与方法的概念,并展示了如何实例化和调用。重点在于两者互补及在实际项目中的运用策略。
2420

被折叠的 条评论
为什么被折叠?



