相信各位伙伴们在前俩次的文章和Python的基础学习中大有收获,这次我们将进入推导式,常见语句和内置函数的学习!跟着博主一起成为一名Ai的算法工程师!
用更简洁的方式创建列表、字典和集合。是 Python 特有的一种表达式形式。
a = [1, 2, 3, 4]
result = [x * 2 for x in a] # 创建一个新列表,元素是原列表每个元素的两倍
a = ['a', 'b', 'c']
result = {x: ord(x) for x in a} # 创建一个字典,将字母映射到对应的ASCII值
a = [1, 2, 3, 4]
result = {x * 2 for x in a} # 创建一个集合,元素是原列表每个元素的两倍
语句是计算机执行程序的最小单位。
赋值语句将一个值赋给变量:
a = 5 # 将值 5 赋给变量 a
b = a + 2 # 计算 a + 2 并将结果赋给 b
条件语句用于根据不同的条件来执行不同的代码块。
常见的条件语句有 if
、elif
和 else
语法
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
...
elif 条件表达式n:
语句块n
else:
语句块(其他)
小案例
x = 10
if x > 0:
print("x 是正数")
elif x == 0:
print("x 是零")
else:
print("x 是负数")
在Python3.10版本后更新了match-case语句:
x = 20
match x:
case 10:
print("x is 10")
case 20:
print("x is 20")
case _:
print("x is not 10 ether 20")
# case条件判断并不要求为单一条件,可以进行多条件判断
x = 20
match x:
case 10 | 20 | 30:
print("x为10、20、30中的一个")
case _:
print("x不为10、20、30中的任何一个")
# match case支持在判断条件中套用if判断
x=20
match x:
case x if x>10:
print("x大于10")
case x if x<30:
print("x大于10小于30")
循环语句用于重复执行一段代码,直到满足某个条件。常见的循环语句有 for
循环和 while
循环。
遍历可迭代对象(如列表、元组、字典等)
遍历是指经历且只经历一遍
可迭代对象是指能够依次获取数据元素的对象
for i in range(5):
print(i) # 输出 0, 1, 2, 3, 4
当条件为 TrueTrueTrue 时重复执行
语法
while 真值表达式:
语句块1 (*此部分可能会重复执行)
else:
语句块2
参考代码
count = 0
while count < 5:
print(count)
count += 1 # 输出 0, 1, 2, 3, 4
while循环是可以嵌套的
作用
用来生成一个能够得到一系列整数的可迭代对象(也叫整数序列生成器)
调用格式
range(stop) # stop 停止整数
range(start, stop) # start 开始整数
range(start, stop, step) # step 步长
range 函数调用会生成从 start 开始,到 stop 结束(不包含stop) 的一系列整数,整数的间隔 step
start 默认值为0, step 默认值为1
示意
range(4) # 生成 0 1 2 3
range(3, 6) # 生成 3 4 5
range(1, 10, 2) # 生成 1 3 5 7 9
range(5, 0, -2) # 生成 5 3 1
跳转语句用于控制程序的执行流程。
跳出整个循环。
for i in range(5):
if i == 3:
break # 退出循环
print(i)
# 输出:0, 1, 2
跳过当前循环,继续下一次循环。
for i in range(5):
if i == 3:
continue # 跳过打印 3
print(i)
# 输出:0, 1, 2, 4
占位符,什么也不做,通常用于占据语法上必须有代码的地方。
def empty_function():
pass # 这里不做任何事情
Python提供了大量的可直接使用的内置函数,主要执行一些常见的操作:数据处理、类型转换、数学计算、输入输出等。
官方地址:https://docs.python.org/zh-cn/3.13/library/functions.html
all()
如果可迭代对象中的所有元素都为 True
,返回 True
,否则返回 False
。
print(all([True, True, False])) # 输出: False
print(all([1, 2, 3])) # 输出: True
sum()
返回可迭代对象中所有元素的总和。
print(sum([1, 2, 3])) # 输出: 6
sorted()
返回一个新列表,其中包含可迭代对象中的元素,按照升序排序。
print(sorted([3, 1, 2])) # 输出: [1, 2, 3]
reversed()
返回一个反向迭代器。
print(list(reversed([1, 2, 3]))) # 输出: [3, 2, 1]
callable()
检查对象是否可以被调用(即是否是函数或方法)。
print(callable(print)) # 输出: True
print(callable(123)) # 输出: False
zip()
将多个可迭代对象打包成一个元组,常用于并行遍历多个序列。
names = ["Alice", "Bob"]
ages = [25, 30]
zipped = zip(names, ages)
print(list(zipped)) # 输出: [('Alice', 25), ('Bob', 30)]
eval()
将字符串作为有效的 Python 表达式来执行,并返回结果。
x = 10
result = eval("x + 5")
print(result) # 输出: 15
exec()
执行存储在字符串中的 Python 代码。
code = 'for i in range(3): print(i)'
exec(code)
# 输出:
# 0
# 1
# 2
globals()
和 locals()
globals()
返回当前全局符号表(一个字典);locals()
返回当前局部符号表(也是字典)。
x = 10
print(globals()) # 输出: 包含全局变量的信息
print(locals()) # 输出: 包含局部变量的信息
filter()
从可迭代对象中过滤出符合条件的元素。
numbers = [1, 2, 3, 4, 5]
filtered = filter(lambda x: x % 2 == 0, numbers)
print(list(filtered)) # 输出: [2, 4]
推导式,循环,选择这些语句在我们的后面会越来越频繁的出现,各位小伙伴如果想要更好的学习,可以在网上寻找一些案例来进行自己的训练和编写。形成一套自己的编程体系,每一个逻辑都要清晰,可以在脑子里先构思,接着在本子上做一个大致的草稿,这样我们在写代码的时候就不会茫然了。最后希望各位关注我收藏的小伙伴可以紧紧跟随博主的学习脚步,继续的努力下去,争取一起变强寻得一份满意的工作!!!