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 字符串

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 列表

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(列表)。元组⽤ () 标识。内部元素⽤逗号隔开。但是元组不能⼆ 次赋值,相当于只读列表。

python 复制代码
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 = {}

python 复制代码
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:
条件为假执⾏的语句

python 复制代码
name = 'java'
if name == 'python': # 判断变量是否为 python
 print('welcome boss') # 并输出欢迎信息
else:
print(name,'不是 python') # 条件不成⽴时输出变量名称 ```

if-elif-else 语句

基本⽤法
if 条件 1 :
条件 1 为真执⾏的语句
elif 条件 2 :
条件 2 为真执⾏的语句
elif 条件 3 :
条件 3 为真执⾏的语句
elif 条件 4 :
条件 4 为真执⾏的语句
else:
以上条件为假执⾏的语句

python 复制代码
num = 5
if num == 3 : # 判断 num 的值
 print('boss')
elif num == 2 :
 print('user')
elif num == 1 :
 print('worker')
else:
 print('error') # 条件均不成⽴时输出

while 循环语句

基本⽤法
while 条件 :
条件为真 重复执⾏的代码

python 复制代码
count = 0
while count < 10 :
 print('The count is :', count)
 count = count + 1
print("Good bye!")

for 循环语句

基本⽤法

for 临时变量 in 容器 :

重复执⾏的代码

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

python 函数

函数的特点:

1、函数是组织好的,可重复使⽤的,⽤来实现单⼀,或相关联功能的代码段。
2、函数使⽤ def 关键字开头,后接函数标识符名称和圆括号()。
3、任何传⼊参数和变量必须放在圆括号中间。圆括号之间可以⽤于定义参数。
4、函数主体内容以冒号开始,函数中的代码块必须缩进

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

基本⽤法

def 函数名(参数) :
"函数⽂档字符串"
代码 1
代码 2

python 复制代码
def sum(arg1, arg2) :
 # 返回 2 个参数的和."
 total = arg1 + arg2
 print("函数内 : ", 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),它们是⼀类具有特殊命名规则的⽅法,⽤于定义对象的内置⾏为。这些⽅法的名字前后都带有两个下划线(例如, initstr )。
魔术⽅法允许开发者⾃定义对象如何响应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)

相关推荐
拓端研究室TRL23 分钟前
Python古代文物成分分析与鉴别研究:灰色关联度、岭回归、K-means聚类、决策树分析
python·决策树·回归·kmeans·聚类
AI+程序员在路上42 分钟前
ABI与API定义及区别
c语言·开发语言·c++
Phoebe丶1 小时前
基于Pyecharts的电影数据集可视化分析实战
python·信息可视化·数据分析
2201_753169471 小时前
implement用法
java·开发语言
AI妈妈手把手2 小时前
Kernel K-means:让K-means在非线性空间“大显身手”
人工智能·python·机器学习·kmeans·聚类算法
李强57627822 小时前
语法制导的语义计算(包含python源码)
java·数据库·python
挨踢诗人2 小时前
Python实现企业微信Token自动获取到SQLite存储
python·sqlite·企业微信·数据集成
wx_ywyy67982 小时前
“微信短剧小程序开发指南:从架构设计到上线“
java·python·短剧·短剧系统·海外短剧·推客小程序·短剧系统开发
二闹2 小时前
为啥需要一把Anaconda"瑞士军刀"?
后端·python