大家好我是程序员_蓝天, 本文是为了方便初学者能够快速学习python,写的可能不是很好,希望大家多多包涵。 每个赞都是我前进的动力
1. 面向过程(POP)与面向对象(OOP)
面向过程:核心是过程二字,过程指的是解决问题的步骤。编程的时候先把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。适合简单任务,不需要过多协作。 面向对象:核心是对象二字,对象是由属性和方法组成的。编程的时候首先思考的是怎么设计这个事物。 比如思考造车,我们就会先思考“车怎么设计?”,而不是“怎么按步骤造车的问题”。找轮胎厂完成制造轮胎的步骤,发动机厂完成制造发动机的步骤;这样,发现大家可以同时进行车的制造,最终进行组装,大大提高了效率。
总结:
在编程中,不同的编程范式(面向过程,面向对象)不分好与坏,不同的编程场景使用不同的范式去做
类和对象
-
类:一个抽象的概念:即生活中“类别”
-
类中的所有的变量称为属性
-
类中的函数称为方法
-
-
对象:类的具体实例,属于某个类别
狗的属性: # 狗的特征
有毛
有尾巴
狗的方法: # 狗会做什么
吃饭
看家
会跑
……
类的定义
定义一个函数
def 函数名(形参):
函数体
函数名(实参)
定义一个类
class 类名:
类代码(属性,行为)
类名的定义:使用大驼峰命名,(所有单词首字母大写)
定义类之后没有实例对象:执行代码,类中代码执行
定义在类中的变量称为属性,定义的函数称为方法
class People:
# 类属性 (类属性是所有对象共有的属性)
name = "jk"
age = 18
# 通过类实例化对象jk ,类实例赋值给jk ,变量名jk 就是一个对象
# 类一个实例,一个对象
jk = People()
java = People()
# print(jk) # <__main__.People object at 0x000001EB56CDAD88>
# 对象访问类的属性
# 对象名称.属性名
# print(jk.name)
# print(jk.age)
# print(java.name)
# 修改属性 自身的属性
jk.name = "你好"
print(jk.name)
# 修改类的属性
People.name = "小白"
print(jk.name)
print(java.name)
# 添加属性 自己对象本身
java.height = 1.8
print(java.height)
# 查看属性
print(People.__dict__)
实例成员
__init__初始化方法
- init 初始化方法,实例化方法, 魔法方法,构造方法
- 该方法在初始化对象的会被调用,通常情况用于设计对象的属性
- 该方法在实例化对象时,自动调用,不需要手动调用
self
类中的每个方法,在创建的时候都有这个参数self
self:表示对象本身
实例化属性
class A:
def __init__(self, name, age):
# 实例对象自己
self.name = name
self.age = age
a = A("jk", 18)
print(a.name)
实例化方法
class A:
def __init__(self, name, age):
# 实例对象自己
self.name = name
self.age = age
# 实例化方法
def desc_info(self):
print(f'我的名字{self.name},我的年龄:{self.age}')
a = A("jk", 18)
print(a.name)
a.desc_info()