news 2026/5/30 22:02:05

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/5/30 18:40:41

电商系统Redis管理实战:从下载到应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个电商平台Redis管理模块&#xff0c;专门处理商品缓存、用户会话和秒杀活动数据。要求实现自动缓存预热、热点数据标识、过期策略管理等功能。前端展示缓存命中率、内存使用…

作者头像 李华
网站建设 2026/5/30 18:41:33

对比测评:传统下载VS智能获取华为ENSP的全流程效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个ENSP效率对比工具&#xff0c;需实现&#xff1a;1) 传统下载路径的步骤记录与耗时统计 2) 智能方案的自动化流程演示 3) 系统兼容性自动检测 4) 安装成功率对比统计 5) 生…

作者头像 李华
网站建设 2026/5/30 18:42:53

IBM Granite-4.0:23万亿token的多语言代码生成模型

IBM Granite-4.0&#xff1a;23万亿token的多语言代码生成模型 【免费下载链接】granite-4.0-h-small-base 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/granite-4.0-h-small-base 导语 IBM正式发布 Granite-4.0系列大语言模型&#xff0c;其中H-Small-Base…

作者头像 李华
网站建设 2026/5/30 18:42:28

用NFS快速构建分布式应用原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个NFS环境快速部署工具&#xff0c;能够一键在多个云服务器上配置NFS共享。支持AWS、阿里云等主流云平台&#xff0c;自动完成安全组配置、服务安装和权限设置。输出应包括连…

作者头像 李华
网站建设 2026/5/30 12:23:37

HiDream-E1.1:9项第一!免费AI图像编辑工具

HiDream-E1.1&#xff1a;9项第一&#xff01;免费AI图像编辑工具 【免费下载链接】HiDream-E1-1 项目地址: https://ai.gitcode.com/hf_mirrors/HiDream-ai/HiDream-E1-1 导语 免费AI图像编辑工具HiDream-E1.1正式开源&#xff0c;在国际权威评测中斩获9项指标第一&a…

作者头像 李华
网站建设 2026/5/30 3:05:36

1小时原型开发:TDAPPDESKTOP验证产品创意

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个社交媒体监控工具原型&#xff0c;功能包括&#xff1a;1. 关键词搜索面板 2. 实时数据抓取展示 3. 情感分析可视化 4. 警报通知系统 5. 简易仪表盘。优先实现核心交互…

作者头像 李华