当前位置: 首页 > web >正文

Python

python 介绍

Python 是⼀种解释型、⾯向对象、动态数据类型的⾼级编程语⾔。它被设计为可读性强、 简洁且易于学习。
Python 具有⾼效的⾼级数据结构,并且⽀持简单有效的⾯向对象编程。
Python 的语法和动态类型,以及解释型语⾔的本质,使它成为在多个平台上编写脚本和快 速开发应⽤的编程语⾔。

python 基本数据类型

注释的使⽤

  1. 单⾏注释: #
  2. 多⾏注释:三个单引号 或 三个双引号
  3. 注意:
  4. '''引号中的内容为注释部分'''
  5. """注释引号必须成对出现"""

 Python 有六个标准的数据类型:

  1. Numbers(数字)
  2. String(字符串)
  3. List(列表)
  4. Tuple(元组)
  5. Set(集合)
  6. Dictionary(字典)

Python 数字 

数字数据类型⽤于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配⼀个新的 对象。
# 当你指定⼀个值时、Number 对象就会被创建:
var1 = 1
var2 = 10

Python 字符串

s = 'abcdef'
print(s[1:5])str = 'Hello World!'
print(str) # 输出完整字符串
print(str[0]) # 输出字符串中的第⼀个字符
print(str[2:5]) # 输出字符串中第三个⾄第六个之间的字符串
print(str[2:]) # 输出从第三个字符开始的字符串
print(str * 2) # 输出字符串两次
print(str + "TEST") # 输出连接的字符串

Python 列表

list = ['Beyond', 786, 2.23, 'john', 70.2] tinylist = [123, 'john']print(list) # 输出完整列表
print(list[0]) # 输出列表的第⼀个元素
print(list[1:3]) # 输出第⼆个⾄第三个元素
print(list[2:]) # 输出从第三个开始⾄列表末尾的所有元素
print(tinylist * 2) # 输出列表两次
print(list + tinylist) # 打印组合的列表

Python 元组

元组是另⼀个数据类型,类似于 List(列表)。元组⽤ () 标识。内部元素⽤逗号隔开。但是元组不能⼆ 次赋值,相当于只读列表。
tuple = ('Beyond', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第⼀个元素
print(tuple[1:3]) # 输出第⼆个⾄第四个(不包含)的元素 
print(tuple[2:]) # 输出从第三个开始⾄列表末尾的所有元素
print(tinytuple * 2) # 输出元组两次
print(tuple + tinytuple) # 打印组合的元组

Python 字典 dict = {}

dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name' : 'Beyond', 'code' : 6734, 'dept' : 'sales'}
print(dict['one']) # 输出 This is one print(dict[2]) # 输出 This is two
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值 ```

python 流程语句

在 python 中,命令语句的执⾏顺序是从上往下的,遇到命令运⾏错误时会终⽌。 除此之外的
python 中还有⼀些循环的语句

if-else 条件语句

基本⽤法
if 条件 :
条件为真执⾏的语句
else:
条件为假执⾏的语句
name = 'java'
if name == 'python': # 判断变量是否为 pythonprint('welcome boss') # 并输出欢迎信息
else:
print(name,'不是 python') # 条件不成⽴时输出变量名称 ```

if-elif-else 语句

 基本⽤法

if 条件 1 :
条件 1 为真执⾏的语句
elif 条件 2 :
条件 2 为真执⾏的语句
elif 条件 3 :
条件 3 为真执⾏的语句
elif 条件 4 :
条件 4 为真执⾏的语句
else:
以上条件为假执⾏的语句
num = 5
if num == 3 : # 判断 num 的值print('boss')
elif num == 2 :print('user')
elif num == 1 :print('worker')
else:print('error') # 条件均不成⽴时输出

while 循环语句

基本⽤法
while 条件 :
条件为真 重复执⾏的代码
count = 0
while count < 10 :print('The count is :', count)count = count + 1
print("Good bye!")

 for 循环语句

 基本⽤法

 for 临时变量 in 容器 :

重复执⾏的代码

fruits = ['banana', 'apple', 'mango']
for fruit in fruits :print('当前⽔果 : %s' % fruit)

 python 函数

函数的特点:

1、函数是组织好的,可重复使⽤的,⽤来实现单⼀,或相关联功能的代码段。

2、函数使⽤ def 关键字开头,后接函数标识符名称和圆括号()。
3、任何传⼊参数和变量必须放在圆括号中间。圆括号之间可以⽤于定义参数。
4、函数主体内容以冒号开始,函数中的代码块必须缩进

 return [表达式] 结束函数,选择性地返回⼀个值给调⽤⽅。不带表达式的 return 相当于 返回 None

 基本⽤法

def 函数名(参数) :
"函数⽂档字符串"
代码 1
代码 2
def sum(arg1, arg2) :# 返回 2 个参数的和."total = arg1 + arg2print("函数内 : ", total)return total# 调⽤ sum 函数
total = sum(10, 20)
print(total) ```

Python模块

Python模块是包含Python代码的⽂件,其扩展名通常为 .py 。模块是Python程序的基本组成部分,它 们提供了封装代码的⽅式,使得代码更加组织化、易于重⽤和维护。
模块可以包含函数、类和变量,也可以包含可执⾏的代码。当⼀个模块被导⼊时(使⽤ import
句),Python会执⾏该模块中的代码(如果有的话),并将模块中的函数、类和变量等成员绑定到⼀个 同名的命名空间对象中,这个对象随后可以被导⼊它的程序访问。

 Python模块有以下⼏个特点

  1.  封装性:模块可以将相关的函数、类和变量封装在⼀起,形成⼀个独⽴的代码单元。这有助于保持代码的整洁和组织性。
  2. 重⽤性:⼀旦⼀个模块被编写和测试完毕,它就可以被多个程序重复使⽤,⽽⽆需重复编写相同的代码。
  3. 可维护性:模块化的代码更容易维护和更新。如果需要修改某个功能,只需要修改相应的模块,⽽不需要修改整个程序。
  4. 命名空间管理:每个模块都有⼀个独⽴的命名空间,这有助于避免命名冲突。当两个模块包含相同名称的函数或变量时,它们不会相互⼲扰,因为它们是在不同的命名空间中定义的。
Python模块可以分为系统内置模块、⾃定义模块和第三⽅模块。

pyhton类和对象

在Python中,类和对象是⾯向对象编程(OOP)的两个核⼼概念。它们共同构建了⼀个强⼤的编程框 架,使得开发者能够创建结构化、模块化和可复⽤的代码。

类(Class)

类是⼀个模板或蓝图,它定义了对象的结构和⾏为。类包含了属性和⽅法,这些属性和⽅法定义了对象将拥有的数据(状态)以及可以执⾏的操作(⾏为)。
1. 属性:类的属性可以是数据属性或类属性。数据属性⽤于存储对象的特定信息(如实例变量),⽽ 类属性则是类级别的变量,被该类的所有实例共享。
2. ⽅法:类的⽅法定义了对象的⾏为。它们是绑定到类的函数,可以通过对象来调⽤。⽅法中的第⼀ 个参数通常是 self ,它代表调⽤该⽅法的对象本身。

对象(Object)

对象是类的实例。每个对象都是根据类模板创建的具体实体,它包含了类定义的属性和⽅法。对象是通 过调⽤类并传递必要的参数给其构造函数(通常是 __init__ ⽅法)来创建的。
1. 实例变量:对象创建时, __init__ ⽅法或其他⽅法可以为对象设置特定的实例变量,这些变量在 对象之间是独⽴的。
2. ⽅法调⽤:通过对象,可以调⽤其类定义的⽅法,并访问其属性和其他⽅法。

⾯向对象编程的优势

1. 封装:通过类,可以将数据和操作数据的函数封装在⼀起,形成⼀个独⽴的单元。这有助于隐藏实 现细节,并提供⼀个清晰的接⼝来访问对象。
2. 继承:⼀个类可以继承另⼀个类的属性和⽅法,从⽽创建具有层次结构的类体系。这有助于代码的重⽤和扩展。
3. 多态:不同的对象可以通过相同的接⼝调⽤⽅法,⽽这些⽅法在不同的对象上可以有不同的实现。这提供了更⼤的灵活性和可扩展性。

Python魔术⽅法

Python中的魔术⽅法(Magic Methods)也被称为特殊⽅法(Special Methods)或双下⽅法(Dunder Methods),它们是⼀类具有特殊命名规则的⽅法,⽤于定义对象的内置⾏为。这些⽅法的名字前后都带有两个下划线(例如, __init__ __str__ )。
魔术⽅法允许开发者⾃定义对象如何响应Python的内置操作,⽐如打印对象、⽐较对象、算术运算等。
当你对对象执⾏某些操作时,Python解释器会⾃动调⽤相应的魔术⽅法。
当定义魔术⽅法时,请确保它们的⾏为与预期⼀致,以避免引起混淆或错误。
并不是所有的魔术⽅法都需要在你的类中定义,只有当你需要⾃定义某个特定⾏为时才需要定义相应的魔术⽅法。
魔术⽅法的命名是固定的,不能随意更改。如果你尝试定义⼀个不符合命名规范的魔术⽅法,它将不会被Python解释器识别为特殊⽅法

魔术⽅法的作⽤

1. ⾃定义对象⾏为:通过定义魔术⽅法,你可以⾃定义对象如何响应Python的内置操作,⽐如打印、⽐较、算术运算等。
2. 操作符重载:魔术⽅法允许你重载Python中的操作符,使它们以⾃定义的⽅式⼯作。例如,通过定义 __add__ ⽅法,你可以改变对象相加的⾏为。
3. 内置函数⽀持:许多Python内置函数,如 len() iter() next() 等,都是通过调⽤对象的
魔术⽅法来⼯作的。通过定义相应的魔术⽅法,你可以使对象与这些内置函数兼容。
4. 增强代码可读性:使⽤魔术⽅法可以使代码更加直观和易于理解。通过定义适当的魔术⽅法,你可以让对象的⾏为更加符合开发者的预期。

__init__

触发机制:在实例化对象之后⽴即触发。

参数:⾄少有⼀个 self 接收当前对象,其他参数根据需要进⾏定义。
返回值:⽆
作⽤:初始化对象的成员。

__del__ 析构函数

python的垃圾回收机制,回收不是"⽴即"的, 由解释器在适当的时机,将垃圾对象占⽤的内存空间回收。
触发机制:当该类对象被销毁时, 当对象不再被使⽤时 ⾃动触发。
参数:⼀个 self 接收当前对象。
返回值:⽆。
作⽤:关闭或释放对象创建时资源。

__getstate__

在对象被序列化( pickle.dump() )时调⽤,返回⼀个表示对象状态的字典。默认返回 __dict_
_ ,但可以⾃定义以控制序列化的内容(例如排除敏感数据或不可序列化的属性)。

__setstate__

在对象反序列化( pickle.load() )时调⽤,接收 __getstate__ 返回的字典,⽤于恢复对象状
态。常⽤于重建默认 __dict__ ⽆法处理的复杂对象。

__reduce__

定义对象如何被 pickle 模块序列化,返回⼀个元组 (callable, args, state)

http://www.xdnf.cn/news/9308.html

相关文章:

  • sockfd = lwip_socket,newfd = lwip_accept 有什么区别
  • Milvus索引操作和最佳实践避坑指南
  • 2025-05-27 Python深度学习6——神经网络模型
  • 【递归、搜索与回溯算法】专题一 递归
  • 从大模型加载到交互:3D Web轻量化引擎HOOPS Communicator如何打造流畅3D体验?
  • 【AUTOSAR】时间保护(Timing Protection)概念、应用与实现源代码解析(下篇)
  • Docker 挂载卷并保存为容器
  • oracle在线迁移数据文件
  • 【平面波导外腔激光器专题系列】用于光纤传感的低噪声PLC外腔窄线宽激光器
  • 【R语言编程绘图-箱线图】
  • 什么是项目突围管理,如何培养相关能力
  • c++复习(类型准换+动态数组+类与对象)
  • 三十、面向对象底层逻辑-SpringMVC九大组件之HandlerInterceptor接口设计
  • 大模型的开发应用(四):深度学习模型量化与QLoRA微调
  • WPF【11_3】WPF实战-重构与美化(可复用的UI组件)
  • 编写第一个ros程序
  • 【Python训练营打卡】day37 @浙大疏锦行
  • 吉林省CCPC与全国邀请赛(东北地区赛)游记
  • 把 CURSOR 的工具活动栏改成和 VSCODE 一样的左侧展示
  • 防爆手机VS普通手机,区别在哪里?
  • Python实例题:使用Python定制词云
  • 基于深度学习的语音识别系统设计与实现
  • OpenCV CUDA模块图像处理------颜色空间处理之用于执行伽马校正(Gamma Correction)函数gammaCorrection()
  • Jenkins分配对应项目权限与用户管理
  • Linux中的常用命令
  • JSON全面解析
  • Qt基础终结篇:从文件操作到多线程异步UI,深度解析核心要点
  • -资产收集篇FridaHOOKXposed证书提取单向双向检验抓包
  • Logi鼠标切换桌面失效
  • ubuntu2x.xx网络不通如何解决