资讯详情

资讯详情

Python2

数据容器列表List列表是 Python 中最常用的线性容器使用方括号定义元素有序且可以重复支持增删改查和切片操作。fruits [apple, banana, cherry] fruits.append(orange) # 末尾追加 print(fruits[0]) # 按索引访问 print(fruits[1:3]) # 切片切片Slicing切片是 Python 中提取序列子集的核心语法适用于列表、字符串、元组等有序容器。基本格式为序列[起始:结束:步长]其中起始和结束位置可省略步长默认为 1。nums [0, 1, 2, 3, 4, 5] print(nums[1:4]) # [1, 2, 3]含头不含尾 print(nums[:3]) # [0, 1, 2]省略起始 print(nums[3:]) # [3, 4, 5]省略结束 print(nums[::2]) # [0, 2, 4]步长为 2 print(nums[::-1]) # [5, 4, 3, 2, 1, 0]倒序切片同样适用于字符串和元组返回对应类型的新对象不会修改原数据。text Python print(text[0:3]) # Pyt print(text[::-1]) # nohtyP tup (1, 2, 3, 4) print(tup[1:3]) # (2, 3)列表推导式List Comprehension列表推导式是 Python 中快速生成列表的简洁语法基本格式为[表达式 for 变量 in 可迭代对象]可配合条件判断进行过滤。squares [x * x for x in range(6)] print(squares) # [0, 1, 4, 9, 16, 25] evens [x for x in range(10) if x % 2 0] print(evens) # [0, 2, 4, 6, 8] words [apple, banana, cherry] lengths [len(w) for w in words] print(lengths) # [5, 6, 6]列表推导式也支持嵌套循环常用于扁平化二维数据或生成组合。matrix [[1, 2], [3, 4], [5, 6]] flat [num for row in matrix for num in row] print(flat) # [1, 2, 3, 4, 5, 6] pairs [(x, y) for x in range(3) for y in range(2)] print(pairs) # [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]字符串String字符串是不可变的字符序列使用单引号或双引号定义支持索引、切片、拼接和格式化等操作。name Python print(name[0]) # 取第一个字符 print(name.upper()) # 转大写 print(len(name)) # 获取长度元组Tuple元组是不可变的线性容器使用圆括号定义元素有序且可以重复适合存储不允许修改的数据。point (3, 5) x, y point # 解包 print(x, y) # point[0] 10 # 报错元组不可修改集合Set集合是无序且不重复的容器使用花括号定义适合去重和集合运算如交集、并集、差集。a {1, 2, 3} b {3, 4, 5} c set() #空集合 print(a b) # 交集 print(a | b) # 并集 print(a - b) # 差集字典Dictionary字典是键值对容器使用花括号加冒号定义通过键快速访问对应的值适合关联和查找场景。person {name: Alice, age: 25} print(person[name]) # 按键取值 person[age] 26 # 修改值 print(person.keys()) # 获取所有键总结函数函数的定义与调用函数是 Python 中组织代码、实现复用的核心方式。使用def关键字定义函数基本格式为def 函数名(参数列表):函数体需要缩进可通过return返回结果。def greet(name): 打印问候语 print(fHello, {name}!) def add(a, b): 返回两数之和 return a b 调用函数 greet(Alice) # Hello, Alice! result add(3, 5) print(result) # 8函数参数支持默认值、关键字参数和可变参数灵活适应不同调用场景。def introduce(name, age18, *hobbies): print(f{name} 今年 {age} 岁) print(爱好:, hobbies) introduce(Bob, 20, 篮球, 阅读) Bob 今年 20 岁 爱好: (篮球, 阅读) def calc(a, b, **kwargs): print(fa{a}, b{b}, 其他{kwargs}) calc(1, 2, opadd, level3) a1, b2, 其他{op: add, level: 3}函数还可以作为参数传递或作为返回值这是 Python 函数式编程的基础。def apply(func, value): return func(value) def double(x): return x * 2 print(apply(double, 5)) # 10 def make_multiplier(n): def multiplier(x): return x * n return multiplier times_3 make_multiplier(3) print(times_3(7)) # 21全局变量与局部变量在 Python 中变量按作用域分为全局变量和局部变量。在函数外部定义的变量是全局变量可在整个模块中访问在函数内部定义的变量是局部变量只能在函数内部使用。count 10 # 全局变量 def show(): name Alice # 局部变量 print(count) # 函数内可读取全局变量 print(name) show() print(name) # 报错局部变量在函数外不可访问当函数内需要修改全局变量时必须使用global关键字声明否则 Python 会将其视为新的局部变量。total 0 def add_one(): global total # 声明使用全局变量 total 1 add_one() add_one() print(total) # 2全局变量被成功修改如果不加global函数内对同名变量的赋值只会创建局部变量不会影响全局变量。value 100 def try_change(): value 200 # 未声明 global创建的是局部变量 print(value) # 200 try_change() print(value) # 100全局变量未被修改不定长参数与关键字传参Python 函数支持不定长参数用于接收数量不固定的实参。使用*args接收任意数量的位置参数参数会以元组形式传入使用**kwargs接收任意数量的关键字参数参数会以字典形式传入。def collect(*args): print(位置参数:, args) collect(1, 2, 3) # 位置参数: (1, 2, 3) def collect_kw(**kwargs): print(关键字参数:, kwargs) collect_kw(nameAlice, age25) # 关键字参数: {name: Alice, age: 25}关键字传参是指在调用函数时通过参数名值的方式显式指定参数这样不依赖参数顺序代码可读性更高。def introduce(name, age, city): print(f{name} 今年 {age} 岁来自 {city}) introduce(age20, city北京, nameBob) # 关键字传参顺序可打乱在实际开发中*args和**kwargs常组合使用让函数既能接收任意数量的位置参数也能接收任意数量的关键字参数。def show_info(*args, **kwargs): print(位置参数:, args) print(关键字参数:, kwargs) show_info(Python, Java, level3, tag教程) 位置参数: (Python, Java) 关键字参数: {level: 3, tag: 教程}from typing import List, Dict, Tuple, Set scores: List[int] [90, 85, 88] person: Dict[str, int] {age: 25} point: Tuple[int, int] (3, 5) tags: Set[str] {python, 教程}对于函数参数还可以使用Optional表示参数可能为None使用Union表示参数可以是多种类型之一让类型表达更加灵活。类型注解Type Hintsdef add(a: int, b: int) - int: return a b name: str Alice age: int 25 print(add(3, 5)) # 8类型注解同样适用于容器类型。Python 的typing模块提供了List、Dict、Tuple、Set等泛型标注可以更精确地描述容器中元素的类型。from typing import List, Dict, Tuple, Set scores: List[int] [90, 85, 88] person: Dict[str, int] {age: 25} point: Tuple[int, int] (3, 5) tags: Set[str] {python, 教程}对于函数参数还可以使用Optional表示参数可能为None使用Union表示参数可以是多种类型之一让类型表达更加灵活。from typing import Optional, Union def greet(name: Optional[str] None) - str: if name is None: name 朋友 return f你好{name}! def parse(value: Union[int, str]) - str: return str(value) print(greet()) # 你好朋友 print(greet(Alice)) # 你好Alice print(parse(123)) # 123当参数可以是多种类型时除了UnionPython 3.10 起还支持更简洁的|语法例如int | str表示参数可以是整数或字符串写法更直观。def parse(value: int | str) - str: return str(value) print(parse(123)) # 123 print(parse(hello)) # hello
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →