news 2026/4/3 4:31:24

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/3/30 0:43:11

Mistral-Small-3.2:24B大模型三大能力显著提升

Mistral-Small-3.2&#xff1a;24B大模型三大能力显著提升 【免费下载链接】Mistral-Small-3.2-24B-Instruct-2506 项目地址: https://ai.gitcode.com/hf_mirrors/mistralai/Mistral-Small-3.2-24B-Instruct-2506 Mistral AI近日发布了Mistral-Small-3.2-24B-Instruct-…

作者头像 李华
网站建设 2026/4/2 16:14:31

1小时用WEKNORA打造智能客服知识库原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 快速开发一个智能客服知识库原型&#xff0c;要求&#xff1a;1. 支持多轮对话的问答系统&#xff1b;2. 知识库内容管理界面&#xff1b;3. 简单的情感分析功能&#xff1b;4. 对…

作者头像 李华
网站建设 2026/3/30 12:58:00

快速验证:用截长图功能制作网页设计原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个网页设计辅助工具&#xff0c;功能包括&#xff1a;1. 一键截取竞品页面长图&#xff1b;2. 自动标注关键设计元素&#xff1b;3. 生成设计参考报告&#xff1b;4. 支持多…

作者头像 李华
网站建设 2026/3/17 5:51:26

零基础教程:用Claude代码技能开启编程之旅

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个面向编程新手的交互式学习项目&#xff0c;包含&#xff1a;1. 基础语法学习模块&#xff1b;2. 简单练习自动批改&#xff1b;3. 常见问题解答机器人。使用Python实现&am…

作者头像 李华
网站建设 2026/3/30 6:10:01

超快速AI画猫!Consistency模型1步生成高清萌宠

超快速AI画猫&#xff01;Consistency模型1步生成高清萌宠 【免费下载链接】diffusers-ct_cat256 项目地址: https://ai.gitcode.com/hf_mirrors/openai/diffusers-ct_cat256 导语&#xff1a;AI图像生成技术迎来效率革命&#xff0c;基于Consistency模型的diffusers-c…

作者头像 李华
网站建设 2026/3/30 17:42:37

NextStep-1:14B参数AI图像编辑新体验

NextStep-1&#xff1a;14B参数AI图像编辑新体验 【免费下载链接】NextStep-1-Large-Edit 项目地址: https://ai.gitcode.com/StepFun/NextStep-1-Large-Edit 导语&#xff1a;StepFun AI推出140亿参数的NextStep-1-Large-Edit模型&#xff0c;通过创新的自回归连续令牌…

作者头像 李华