什么是面向过程?
编程语言的发展历史:
第一代编程语言:二级制
第二代编程语言:面向机器的语言(汇编语言)
第三代编程语言:C语言、c++、c##、java、PHP、python、ruby、shell……
C语言:使用面向过程思维在编程
细化问题,直奔解决方案,调用函数实现解决问题
世界观:当语言要解决庞大的问题是,面向过程暴露出它的不足之处。
总结:分类处理,创建世界的过程
什么是面向对象?
面向对象,相对于面向过程(函数)而言
面向对象的本质是模拟人类认知现实存在的宇宙能力,建立模型的过程就是分类的过程。
软件的世界,创造一个世界,分类创造万物。
创建类,得到对象
什么是类:
类就是类别,进行分析得到的一些类别,关键字class来定义
什么对象:
类的一个实例(实实在在的案例),
类是一个抽象概念,是一类事物的总称,而对象是就是实例,是一个真实存在的事物。
定义类
python使用class关键字来定义类
(类名称命名规范:遵循是大驼峰法)
类中的变量和方法都叫做类成员
静态的特征 __init__() # 初始化这些属性
动态的行为动作 使用函数模拟 方法(method)
调用属性或者方法
对象.属性名称
对象.方法([参数列表])
//定义类时确定对象的属性值(不推荐)
class User(object):
"""
定义一个用户类,类名称叫做User
class User:直接这样定义类,和class User(object): 这样定义类,在Python3中一样的,默认都是新式类
在python2中,这样两种写法不一样的
旧式类
新式类
"""
# 重写__init__ 初始化方法,在构建对象时,该方法会自动触发,用来初始化属性
def __init__(self):
# self是一个指针,类似Java中的this,指向本身
# test = "这个叫做局部变量"
# 属性,是类的属性
self.name = "任飞"
self.age = 18
self.gender = "男"
self.tel = "18064329288"
def study(self):
print("我爱妈妈,我爱爸爸,我爱学习")
if __name__ == '__main__':
# 创建对象,创建了一个User的对象
u = User()
print(u.age)
print(u.name)
print(u.gender)
print(u.tel)
# 直接修改值
u.age += 1
u.name = "任帅哥"
print(u.age)
print(u.name)
# 调用方法
u.study()
//在构建对象的时候,才能确定对象的属性值
class User:
# 重写__init__ 初始化方法,该方法用来初始化属性,魔法方法,在构建对象的时候,会自动触发
# 因为在构建对象的时候,才能确定对象的属性值,我们就可以将这些值传递
def __init__(self, name, age, gender, tel):