Python --- Day3 推导式及 常见语句和内置函数的学习!!!

系列文章目录


前言

相信各位伙伴们在前俩次的文章和Python的基础学习中大有收获,这次我们将进入推导式,常见语句和内置函数的学习!跟着博主一起成为一名Ai的算法工程师!

一、 推导式

用更简洁的方式创建列表、字典和集合。是 Python 特有的一种表达式形式。

1.1 列表推导式

a = [1, 2, 3, 4]
result = [x * 2 for x in a]  # 创建一个新列表,元素是原列表每个元素的两倍

1.2 字典推导式

a = ['a', 'b', 'c']
result = {x: ord(x) for x in a}  # 创建一个字典,将字母映射到对应的ASCII值

1.3 集合推导式

a = [1, 2, 3, 4]
result = {x * 2 for x in a}  # 创建一个集合,元素是原列表每个元素的两倍

二、 语句

语句是计算机执行程序的最小单位。

2.1 赋值语句

赋值语句将一个值赋给变量:

a = 5  # 将值 5 赋给变量 a
b = a + 2  # 计算 a + 2 并将结果赋给 b

2.2 条件语句

条件语句用于根据不同的条件来执行不同的代码块。

2.2.1 if-elif-else

常见的条件语句有 ifelifelse

语法

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 是负数")

2.2.2 match-case

在Python3.10版本后更新了match-case语句:

  • 当存在多个判断环境时,if-elif-else语句会比较臃肿
  • 在判断条件较为简单的前提下,可使用match case来进行多条件判断
  • 当x与对应的case匹配后,立刻结束判断,无论后续的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")

2.3 循环语句

循环语句用于重复执行一段代码,直到满足某个条件。常见的循环语句有 for 循环和 while 循环。

2.3.1 for循环

遍历可迭代对象(如列表、元组、字典等)

遍历是指经历且只经历一遍

可迭代对象是指能够依次获取数据元素的对象

for i in range(5):
    print(i)  # 输出 0, 1, 2, 3, 4

2.3.2 while循环

当条件为 TrueTrueTrue 时重复执行

  • 语法

    while 真值表达式:
        语句块1  (*此部分可能会重复执行)
    else:
        语句块2
    
  • 参考代码

    count = 0
    while count < 5:
        print(count)
        count += 1  # 输出 0, 1, 2, 3, 4
    
  • while循环是可以嵌套的

2.3.3 range

  • 作用

    用来生成一个能够得到一系列整数的可迭代对象(也叫整数序列生成器)

  • 调用格式

    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
    

    2.5 循环控制语句

跳转语句用于控制程序的执行流程。

2.5.1 break

跳出整个循环。

for i in range(5):
    if i == 3:
        break  # 退出循环
    print(i)
# 输出:0, 1, 2

2.5.2 continue

跳过当前循环,继续下一次循环。

for i in range(5):
    if i == 3:
        continue  # 跳过打印 3
    print(i)
# 输出:0, 1, 2, 4

2.5.3 pass

占位符,什么也不做,通常用于占据语法上必须有代码的地方。

def empty_function():
    pass  # 这里不做任何事情

三, 内置函数

Python提供了大量的可直接使用的内置函数,主要执行一些常见的操作:数据处理、类型转换、数学计算、输入输出等。

官方地址:https://docs.python.org/zh-cn/3.13/library/functions.html

3.1 all()

如果可迭代对象中的所有元素都为 True,返回 True,否则返回 False

print(all([True, True, False]))  # 输出: False
print(all([1, 2, 3]))           # 输出: True

3.2 sum()

返回可迭代对象中所有元素的总和。

print(sum([1, 2, 3]))  # 输出: 6

3.3 sorted()

返回一个新列表,其中包含可迭代对象中的元素,按照升序排序。

print(sorted([3, 1, 2]))  # 输出: [1, 2, 3]

3.4 reversed()

返回一个反向迭代器。

print(list(reversed([1, 2, 3])))  # 输出: [3, 2, 1]

3.5 callable()

检查对象是否可以被调用(即是否是函数或方法)。

print(callable(print))  # 输出: True
print(callable(123))    # 输出: False

3.6 zip()

将多个可迭代对象打包成一个元组,常用于并行遍历多个序列。

names = ["Alice", "Bob"]
ages = [25, 30]
zipped = zip(names, ages)
print(list(zipped))  # 输出: [('Alice', 25), ('Bob', 30)]

3.7 eval()

将字符串作为有效的 Python 表达式来执行,并返回结果。

x = 10
result = eval("x + 5")
print(result)  # 输出: 15

3.8 exec()

执行存储在字符串中的 Python 代码。

code = 'for i in range(3): print(i)'
exec(code)
# 输出:
# 0
# 1
# 2

3.9 globals()locals()

globals() 返回当前全局符号表(一个字典);locals() 返回当前局部符号表(也是字典)。

x = 10
print(globals())  # 输出: 包含全局变量的信息
print(locals())   # 输出: 包含局部变量的信息

3.10 filter()

从可迭代对象中过滤出符合条件的元素。

numbers = [1, 2, 3, 4, 5]
filtered = filter(lambda x: x % 2 == 0, numbers)
print(list(filtered))  # 输出: [2, 4]

总结

推导式,循环,选择这些语句在我们的后面会越来越频繁的出现,各位小伙伴如果想要更好的学习,可以在网上寻找一些案例来进行自己的训练和编写。形成一套自己的编程体系,每一个逻辑都要清晰,可以在脑子里先构思,接着在本子上做一个大致的草稿,这样我们在写代码的时候就不会茫然了。最后希望各位关注我收藏的小伙伴可以紧紧跟随博主的学习脚步,继续的努力下去,争取一起变强寻得一份满意的工作!!!

你可能感兴趣的:(Python --- Day3 推导式及 常见语句和内置函数的学习!!!)