news 2026/6/10 9:46:40

Python语法进阶笔记(一)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python语法进阶笔记(一)

一、面向对象

  1. 概念:

  • 面向过程:就是先分析出解决问题的步骤,再把步骤拆成一个个方法,是没有对象去调用的,通过一个个方法的执行解决问题。

  • 面向对象:就是将编程当成是一个事物 (对象), 对外界来说,事物是直接使用的,不用去管内部的情况,而编程就是设置事物能做什么事情。

  • 二者区别:

    面向过程 (手洗): 需要实现一个功能的时候,着重的是过程,分析出一个个步骤,并把一个个步骤用一个个函数实现,再依次去调用一个个函数即可 (每一个步骤都需要自己亲历亲为)

    面向对象 (机洗): 需要实现一个功能的时候,着重的是谁去帮我做这件事情 (偷懒,找别人帮我做)

二、类

  1. 概念:对一系列具有相同属性和行为的事物的统称,是一个抽象的概念,不是真实存在的事物。

  2. 基本格式:

    class 类名

    代码块

  3. 注意:类名要符合标识符规定,同时遵循大驼峰命名法,见名知意。

  4. 三要素:

    1. 类名

    2. 属性:对象的特征描述,用来说明是什么样子的

    3. 方法:对象具有的功能(行为),用来说明能够做什么

    4. 举例:

      类名:人类

      属性:身高、体重、年龄

      方法:走路、说话、学习

三、对象

  1. 概念:类的具体表现,是面向对象编程的核心

  2. 实例化 (创建) 对象的格式:

    对象名 = 类名 ()

  3. 注意:

    1. 先有类,再有对象

    2. 类只有一个,对象可以有很多个

四、实例化举例:

  1. 定义一个类:类名必须符号命名规则,同时遵循大驼峰命名法,见名知义

  2. 查看类属性:类名.属性名

  3. 新增/修改类属性:类名.属性名 = 属性值

  4. 删除类属性:del 类名.属性名

  5. 创建对象:创建对象的过程也叫实例化对象------>对象名 = 类名()

  6. 实例方法:由对象调用,至少有一个self参数,执行实例方法的时候,自动将调用该方法的对象赋值给self参数

    • self参数是类中的实例方法必须具备的

    • self表示当前对象,self.属性名表示当前对象中的属性

    • self 代表对象本身,当对象调用实例方法时,python 会自动将对象本身的引用作为参数,传递到实例方法的第一个参数 self 里面

  7. 实例属性:self.name

class Person: # 类名必须符号命名规则,同时遵循大驼峰命名法,见名知义 name = '张三' age = 18 def eat(self): print('吃吃吃') print(self.name) print(self.age) #查看类属性: 类名.属性名 print(Person.name) # 新增类属性:类名.属性名 = 属性值 Person.sex = '男' print(Person.sex) # 修改类属性:类名.属性名 = 属性值 Person.name = '王五' print(Person.name) # 删除类属性:del 类名.属性名 del Person.sex #创建对象:类名() #创建对象的过程也叫实例化对象 #实例化对象基本格式:对象名 = 类名() p1 = Person() # 第一次实例化 print(p1) # <__main__.Person object at 0x0000020EA0EA0E80> 内存地址 p2= Person() # 第二次实例化 print(p2) # <__main__.Person object at 0x0000020EA0EA0EA80> 内存地址不一样,说明是两个不同对象,可以实例化多个对象 print(p1.name) print(p1.age) p1.eat()
class Person: name = '张三' def introduce(self): print('我是实例方法') print(f"{Person.name}的年龄是{self.age}岁") #self.age 表示实例属性 Person.name 表示类属性 pe = Person() pe.age = 18 # 新增实例属性,其他对象是没有这个属性的 pe2 =Person() pe2.age = 20 print(pe2.age) # 20 pe.age=18 是给pe对象新增的实例属性 pe.introduce()
  1. 实例属性和类属性的区别:

    类属性属于类,是公共的,大家都能访问到

    实例属性属于对象的,是私有的,只能由对象名访问,不能由类名访问

    访问类属性,类可以访问到,实例对象也可以访问到

五、构造函数 :__ init__()

  1. 作用:通常用来做属性初始化或者赋值操作

  2. 格式:def __ init__(self,参数列表):

  3. 注意:在类实例化对象的时候,构造函数会自动调用

class Person: def __init__(self,name,age,height): self.name = name self.age = age self.hight = height def play(self): print(f"{self.name}正在玩") def introduce(self): print(f"{self.name}的年龄是{self.age}岁,身高是{self.hight}cm") # 创建对象,第一次实例化对象 p1 = Person('张三',18,180) p1.introduce() # 调用方法 p1.play() # 创建对象,第二次实例化对象 p2 = Person('王五',20,185) p2.introduce() p2.play() # 输出: # 张三的年龄是18岁,身高是180cm # 张三正在玩 # 王五的年龄是20岁,身高是185cm # 王五正在玩

六、析构函数:__ del__()

  1. 含义:析构方法__del__()是对象在被垃圾回收的时候起作用的一个方法,他的执行一般也就意味着对象不能够继续引用,回收内存。

  2. 作用:通常用来做资源清理操作

  3. 格式:def __ del__(self):

  4. 注意:

    对象销毁的时候,解释器会默认调用__del__()方法

    正常运行时,不会调用__del__()方法,对象执行结束后,系统会默认调用__del__()方法

    __ del__()主要是表示该程序块或者函数以及全部执行结束

class Person: def __init__(self): print('我是__init__()') def __del__(self): print('我是__del__(),被销毁了') p= Person() print("这是最后第二行") print("这是最后一行") # 我是__init__() # 这是最后第二行 # 这是最后一行 # 我是__del__(),被销毁了
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 16:42:11

三极管工作状态对工业电源管理的影响研究:全面讲解

三极管不只是“开关”&#xff1a;深入工业电源设计中的状态控制艺术你有没有遇到过这样的情况&#xff1f;一个看似简单的NPN三极管&#xff0c;在你的工业电源板上莫名其妙地发热、误动作&#xff0c;甚至在关键时刻“罢工”。查遍了外围电路&#xff0c;电压也没超限——问题…

作者头像 李华
网站建设 2026/6/10 10:55:48

极速对比:5种OPENJDK8下载方式耗时测评

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个跨平台的下载速度测试工具&#xff0c;自动测试从Oracle官网、AdoptOpenJDK、华为云镜像、清华镜像等不同源下载OPENJDK8的速度和成功率。要求&#xff1a;1) 多线程下载测…

作者头像 李华
网站建设 2026/6/10 10:56:44

GPT-OSS-Safeguard 20B:AI安全推理新引擎发布

GPT-OSS-Safeguard 20B&#xff1a;AI安全推理新引擎发布 【免费下载链接】gpt-oss-safeguard-20b 项目地址: https://ai.gitcode.com/hf_mirrors/openai/gpt-oss-safeguard-20b 导语&#xff1a;OpenAI正式推出轻量级AI安全推理模型GPT-OSS-Safeguard 20B&#xff0c;…

作者头像 李华
网站建设 2026/6/10 10:54:09

1小时搞定:用Axure授权码验证工具原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个Axure授权码验证工具原型&#xff0c;功能包括&#xff1a;1. 输入授权码&#xff1b;2. 验证有效性&#xff1b;3. 显示验证结果&#xff1b;4. 保存验证记录。原型需…

作者头像 李华
网站建设 2026/6/10 2:26:41

电商日志分析:Kibana实战案例详解

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个电商日志分析演示项目&#xff0c;包含模拟的Nginx访问日志数据导入Elasticsearch的脚本&#xff0c;以及预配置的Kibana仪表盘&#xff0c;展示UV/PV、转化漏斗、热门商品…

作者头像 李华
网站建设 2026/6/10 10:57:59

青龙面板脚本库论坛实战应用案例分享

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个青龙面板脚本库论坛实战项目&#xff0c;包含完整的功能实现和部署方案。点击项目生成按钮&#xff0c;等待项目生成完整后预览效果 青龙面板脚本库论坛实战应用案例分享 …

作者头像 李华