python基础学习3

Python基本语法

条件控制

  1. if-else语句
if condition:
    # 条件成立时执行的代码
else:
    # 条件不成立时执行的代码
  1. if-elif-else语句
if condition1:
    # 条件1成立时执行的代码
elif condition2:
    # 条件2成立时执行的代码
elif condition3:
    # 条件3成立时执行的代码
else:
    # 所有条件都不成立时执行的代码
  1. 嵌套if语句
if condition1:
    # 条件1成立时执行的代码
    if condition2:
        # 条件2成立时执行的代码
    else:
        # 条件2不成立时执行的代码
else:
    # 条件1不成立时执行的代码
  1. match-case语句
match variable:
    case value1:
        # 变量等于value1时执行的代码
    case value2:
        # 变量等于value2时执行的代码
    case value3:
        # 变量等于value3时执行的代码
    case _:
        # 变量不等于value1、value2、value3时执行的代码

循环控制

  1. for循环
for i in range(1, 10):
    print(i)
  1. while循环
i = 1
while i <= 10:
    print(i)
    i += 1

推导式

Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。

Python 推导式是一种强大且简洁的语法,适用于生成列表、字典、集合和生成器。

Python 支持各种数据结构的推导式:

  • 列表推导式:[expression for item in iterable]
  • 字典推导式:{key_expression: value_expression for item in iterable}
  • 集合推导式:{expression for item in iterable}
  • 元组推导式:tuple(expression for item in iterable)
# 列表推导式
squares = [x**2 for x in range(1, 11)]
print(squares)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# 字典推导式
squares_dict = {x: x**2 for x in range(1, 11)}
print(squares_dict)  # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}


# 集合推导式
squares_set = {x**2 for x in range(1, 11)}
print(squares_set)  # {1, 4, 9, 16, 25, 36, 49, 64, 81, 100}


# 元组推导式
squares_tuple = tuple(x**2 for x in range(1, 11))
print(squares_tuple)  # (1, 4, 9, 16, 25, 36, 49, 64, 81, 100)

迭代器

迭代器是一种特殊的对象,它可以记住遍历的位置,
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退,字符串,列表或元组对象都可用于创建迭代器。

迭代器有两个基本的方法:iter()next()

  • iter(obj):返回一个迭代器对象,可以用来遍历 obj 的元素。
  • next(obj):返回迭代器的下一个元素,如果没有更多的元素,则抛出 StopIteration 异常。
# 创建迭代器
my_list = [1, 2, 3, 4, 5]
my_iter = iter(my_list)

# 遍历迭代器
while True:
    try:
        print(next(my_iter))
    except StopIteration:
        break

生成器

生成器是一种特殊的迭代器,它不存储所有数据,而是每次只生成一个值。

生成器表达式是一种简洁的语法,它使用 yield 关键字而不是 return 关键字。

生成器不用一次性生成所有值,而是逐步生成,可以节省内存。

def my_generator():
    for i in range(1, 10):
        yield i**2

# 遍历生成器
for i in my_generator():
    print(i)

函数

函数是一种可重用的代码块,它接受输入参数,执行一些操作,并返回输出结果。

函数定义和调用

函数定义语法:

def function_name(parameter1, parameter2, ...):
    # 函数体
    return output

函数调用语法:

output = function_name(argument1, argument2, ...)

默认参数和可变参数

函数可以有默认参数,也可以有可变参数。

# 默认参数
def greet(name, msg="Hello"):
    print(msg, name)

greet("Alice")  # Hello Alice
greet("Bob", "Hi")  # Hi Bob

# 可变参数
def add_numbers(*args):
    result = 0
    for num in args:
        result += num
    return result

print(add_numbers(1, 2, 3))  # 6
print(add_numbers(4, 5, 6, 7))  # 28

参数传递可变对象和不可变对象

  • 函数参数传递可变对象时,函数对参数的修改会影响到原始对象。

  • 函数参数传递不可变对象时,函数对参数的修改不会影响到原始对象。

# 可变对象参数传递
def modify_list(lst):
    lst.append(4)

my_list = [1, 2, 3]
modify_list(my_list)
print(my_list)  # [1, 2, 3, 4]


# 不可变对象参数传递
def modify_tuple(tup):
    tup = (4, 5, 6)


my_tuple = (1, 2, 3)
modify_tuple(my_tuple)
print(my_tuple)  # (1, 2, 3)

匿名函数

匿名函数是一种没有名称的函数,它可以直接使用 lambda 关键字创建。

语法:

lambda arguments: expression
# 匿名函数
add = lambda x, y: x + y
print(add(2, 3))  # 5

装饰器

装饰器是一种函数,它接受一个函数作为参数,并返回一个新的函数或修改原来的函数,目的是扩展原函数的功能。

装饰器的应用场景:

  • 日志记录:
    装饰器可用于记录函数的调用信息、参数和返回值。
  • 性能分析:
    可以使用装饰器来测量函数的执行时间。
  • 权限控制:
    装饰器可用于限制对某些函数的访问权限。
  • 缓存:
    装饰器可用于实现函数结果的缓存,以提高性能。
def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("Before calling the function")
        result = func(*args, **kwargs)
        print("After calling the function")
        return result
    return wrapper


@my_decorator
def my_function():
    print("Inside the function")

my_function()

异常处理

Python 使用 try-except 语句来处理错误和异常。

异常

异常是程序运行过程中发生的非正常情况,它会导致程序终止运行,如除零错误、文件找不到等。

异常处理流程

  1. 捕获异常:使用 try 语句来捕获异常。
  2. 处理异常:使用 except 语句来处理异常。
  3. 重新引发异常:使用 raise 语句来重新引发异常。
  4. 最后处理:使用 finally 语句来处理异常。
try:
    # 可能发生异常的代码
except ExceptionType:
    # 处理异常的代码
else:
    # 无异常发生时执行的代码
finally:
    # 无论是否发生异常都会执行的代码
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值