Python基础
基础
标识符
-
-
标识符的其他的部分由字母、数字和下划线组成
多行语句
如果语句很长,可以使用反斜杠(\)来实现多行语句,例如:
total = item_one + \
item_two + \
item_three
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":peint("abc",end="")
数据类型
-
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
-
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
数字Number
int、bool、float、complex
数学函数
-
abs(),绝对值
-
floor(),地板数
-
max(),min()
-
round(x,[n]),四舍五入,n为保留小数位数
-
sqrt(),平方根
-
random(),随机生成下一个实数,它在[0,1)范围内。
字符串String
字符串的截取的语法格式如下:变量[头下标:尾下标:步长],左闭右开,步长为负数表示逆向读取,翻转字符串:s[-1::-1]
转义符 \ ,防止转义(row String) r'ab\ncd'
字符串格式化
-
%: %s 表示字符,%d 表示整数,%f 表示小数
-
f-string:以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去;
f'{变量名}'
-
str.format():使用方法
-
'{}xxx{}'.format(var1,var2)
-
'{0}xxx{1}'.format(var1,var2)
-
'{va1}xxx{var2}'.format(var1='a',var2='b')
-
常量 PI 的值近似为 {0:.3f}。'.format(math.pi)
,保留3位小数
-
字符串的方法
-
count(str),str 在 string 里面出现的次数
-
find(str),检测str是否在string中,返回索引值或者-1
-
index(str),检测str是否在string中,返回索引值或者抛出异常
-
isspace(str),string 中只包含空白,返回True、False
-
join(seq),以string作为分隔符,将 seq 中所有的元素合并为一个新的字符串
-
strip(),截掉string两边的空格或指定字符;lstrip()、rstrip()
-
split(str),以str为分隔符截取string
列表List
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
列表的方法
-
remove(obj),删除列表中的元素
-
reverse(),反向列表元素
-
sort(),列表元素排序
元组Tuple
元组的元素值不能修改。元组写在小括号 () 里,元素之间用逗号隔开,可以把字符串看作一种特殊的元组。
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
集合Set
用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合的方法
-
add(),添加元素,参数是单个元素
-
update(),添加元素,参数可以是seq
-
remove(),删除元素,元素不存在报错
-
discard(),删除元素,元素不存在不报错
字典Dictionary
字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。键(key)必须使用不可变类型。
字典的方法
-
items(),以列表返回可遍历的(键, 值) 元组数组
-
key in dict,如果键在字典dict里返回true,否则返回false
运算符
and、or、not、in、not in、is、is not
is 和 ==
-
is 判断是不是引用自一个对象,类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
-
== 比较对象的值是否相等
-
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等
数值运算:
-
/ 除法,返回浮点数
-
// 除法,返回整数
-
** 乘方,
2**5
2的5次方
条件控制
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
循环语句
while
while 判断条件(condition):
执行语句(statements)……
while...else,条件为false 时执行 else 的语句块
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
for...else
for <variable> in <sequence>:
<statements>
else:
<statements>
break、continue同Java
错误和异常
捕获异常
try:
...
except xxError:
... #异常时执行
else:
... #无异常时执行
finally:
... #有无异常都会执行
抛出异常
raise Exception(...)
迭代器
迭代器有两个基本的方法:iter() 和 next()。
使用了 yield 的函数被称为生成器(generator),在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
遍历技巧
字典遍历,关键字和对应的值可以使用 items() 方法同时解读出来:
dict={'name':'tom','age':18}
for k,v in dict.items():
print(k,v)
序列遍历,索引位置和对应值可以使用 enumerate() 函数同时得到:
for i,v in enumerate(['a','ab','abc']):
print(i,v)
同时遍历两个或更多的序列,可以使用 zip() 组合:
num=[1,2,3]
str=['a','b','b']
for n,s in zip(num,str):
print(n,s)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-05-10 Redis 键(key)
2020-05-10 Redis数据类型命令
2020-05-10 Redis 配置命令 CONFIG
2020-05-10 Redis简介