Python 语法笔记
Python 语法笔记
lololowe1. 变量和简单的数类型
1.1 变量和字符串
变量指向一个特定的值,是一个可被赋值的标签。
字符串就是一系列用单引号或双引号包裹的字符。
演示代码:
1 | name = 'mkbk' # 字符串变量 |
运行结果:
1 | hello mkbk |
1.2 在字符串中添加空白
\t
: 在字符串中表示制表符。\n
: 在字符串中表示换行符。
演示代码:
1 | print("Python Rust") |
运行结果:
1 | Python Rust |
1.3 字符串的常用方法
title()
: 将每个单词的首字母都改为大写。upper()
:将字符串全部改为大写。rstrip()/lstrip()/strip()
:移除字符串右端/左端/两端的空白。removeprefix(val)/removesuffix(val)
:移除字符串中指定的前缀/后缀。
演示代码:
1 | # 在一行给多个变量赋值 |
运行结果:
1 | Hello world |
1.4 整数值、浮点数(小数)值、布尔值
演示代码:
1 | print(1, 1_000_000, 1.5) |
运行结果:
1 | 1 1000000 1.5 |
2. 列表简介
列表是由一系列按特定顺序排列的元素组成的序列,使用方括号(包裹)表示。
可以使用索引来访问其中的元素。
2.1 列表的创建与元素访问
演示代码:
1 | bikes = ['trek', 'redline', 'giant'] |
运行结果:
1 | ['trek', 'redline', 'giant'] |
2.2 修改、添加和删除元素
list[idx] = val
: 修改列表中指定索引的元素。
演示代码:
1 | bikes = ['trek'] |
运行结果:
1 | giant |
lst.append(val)
: 在列表的末尾添加新元素。lst.insert(idx, val)
: 在列表的指定位置上添加新元素。
演示代码:
1 | bikes = [] |
运行结果:
1 | ['trek', 'redline'] |
lst.pop(idx) -> val
: 删除并返回列表中指定索引(默认为末尾)的元素。
演示代码:
1 | bikes = ['giant', 'trek', 'redline'] |
运行结果:
1 | redline |
del lst[idx]
: 删除列表中指定索引的元素。lst.remove(val)
: 删除列表中匹配到的第一个指定元素。
演示代码:
1 | bikes = ['giant', 'trek', 'redline'] |
运行结果:
1 | ['redline'] |
2.3 列表相关的常用方法
lst.sort()
: 永久修改原列表,对其中的元素进行排序。lst.reverse()
:永久修改原列表,对其中的元素进行翻转。sorted(lst) -> lst
:返回排序后的列表的副本。len(lst) -> bum
:获取列表的元素个数。
演示代码:
1 | nums = [9, 6, 1, 4, 2] |
运行结果:
1 | 5 |
3. 操作列表
3.1 循环遍历列表
演示代码:
1 | bikes = ['trek', 'redline'] |
运行结果:
1 | Trek |
3.2 创建数值列表和列表推导式
range([start,] end [,step])
: 生成可迭代的数值列表的表示。max(lst)/min(lst)/sum(lst)
: 对数值列表执行简单的统计计算。
演示代码:
1 | print(range(2)) |
运行结果:
1 | range(0, 2) |
关于列表推导式的相关内容,详见4.3.4节。
3.3 创建列表切片
列表切片将返回一个原列表的副本,我们可以利用这个特性来复制列表。
演示代码:
1 | bikes = ['trek', 'redline', 'giant'] |
运行结果:
1 | ['redline', 'giant'] |
3.4 元组的定义和遍历
1 | dimensions = (200, 50) |
运行结果:
1 | 200 |
常用内置函数:
函数名 | 作用 |
---|---|
print() |
打印输出 |
help() |
用于查看函数或模块的详细说明 |
list() |
将一个可迭代对象转换成列表 |
tuple() |
将一个可迭代对象转换成元组 |
set() |
将一个可迭代对象转换成集合 |
dict() |
用于创建一个新字典 |
sorted() |
将一个序列排序,返回排序后的序列 |
reversed() |
将一个序列翻转,返回翻转序列的迭代器 |
range() |
用于生成可迭代的数值列表的表示 |
eval() |
执行字符串类型的代码,并返回最终结果 |
mian() 、max() 、sum() |
返回最小值、最大值、总和 |
len() |
用于获取一个序列或集合的长度 |
zip() |
返回一个迭代器,其中包含将多个序列中同一位置的元素压缩成的一个个元组 |
4. if 语句
if语句将通过检查条件测试语句,以选定执行对应的逻辑。
4.1 条件测试
==
、!=
: 用于判断2个值是否相等/不相等。<
、>=
、<=
、>
: 用于数值间的大小比较。and
、or
、not
关键字: 用于布尔运算,分别表示与/或/非。in
关键字: 用于检查特定值是否在集合中。
演示代码:
1 | condition1 = (100 == 100) # True |
4.2 if 语句
依次检查每个条件测试,选择执行首个为真或else中的子块代码。
elif
:可有零个或多个,当if的条件为假时,依次检查处理。else
:可有零个或一个,处理if和elif的条件均为假的情况。
演示代码:
1 | age, vip = 12, False |
运行结果:
1 | Ticket price is 25. |
5. 字典
字典是由一系列键值对组成的集合,使用花括号(包裹)表示。键值之间互相关联,可以使用键来访问其关联值。
5.1 字典的创建与访问
演示代码:
1 | alien = {'color': 'green', 'points': 5} |
运行结果:
1 | green green |
5.2 修改、添加和删除键值
d[key] = val
: 如果键存在,则修改对应的值,否则添加新键值对。
演示代码:
1 | alien = {'color': 'green', 'points': 5} |
运行结果:
1 | {'color': 'red', 'points': 5, 'position': (0, 25)} |
del d[key]
:根据键删除指定的键值对。d.pop(key) -> val
:根据键删除指定的键值对,返回键对应的值。
演示代码:
1 | d = {'a':1, 'b':2, 'c':3} |
运行结果:
1 | 3 |
5.3 字典的常用方法
d.items()
: 返回所有键值对的元组视图。d.keys()/d.values()
: 返回所有键/值的列表视图len(d)
: 获取字典的键值对的组数。
演示代码:
1 | favorites = {'jen': 'python', 'edward': 'rust'} |
运行结果:
1 | 2 |
5.4 字典推导式
演示代码:
1 | squares = {x: x**2 for x in range(4)} # 键是从0到3的整数,值是键的平方 |
运行结果:
1 | True {0: 0, 1: 1, 2: 4, 3: 9} |
关于字典与字典、字典与列表嵌套的介绍,详见6.4节。
6. 用户输入和 while 循环
6.1 用户输入
演示代码:
1 | name = input("Please enter your name: ") |
运行结果:
1 | Please enter your name: mkbk |
6.2 字符串转换其他类型
int(string)
: 将字符串转换为整数值。float(string)
:将字符串转换为浮点数(小数)值。
演示代码:
1 | age = input("How old are you? ") |
运行结果:
1 | How old are you? 3 |
6.3 while 循环
不断运行while语句中的代码,直到给定的条件为假。
break
关键字: 退出整个循环语句块的执行。continue
关键字: 跳出本次循环中余下代码的执行。
演示代码:
1 | current_number = 0 |
运行结果:
1 | 1 |
7. 函数
函数是带名字的代码块,通过使用函数,可以避免编写重复的代码。我们可以根据函数的形参,来传入位置实参或关键字实参,使程序表现出类似但不尽相同的行为。
7.1 函数定义
演示代码:
1 | def describe_pet(animal, name, color='yellow'): # 形参color有默认值 |
运行结果:
1 | My dog's Buddy, color is yellow. |
7.2 函数的返回值
演示代码:
1 | def add_if_same_or_sub(x, y): |
运行结果:
1 | 3 4 |
7.3 不定长函数
*args
: 以一个星号为前缀,将接受一个包含多余位置参数的元组。**kwargs
: 以两个星号为前缀,将接受一个包含多余关键字参数的字典。
演示代码:
1 | def func(*args, **kwargs): |
运行结果:
1 | args: (1, 2) |
8 类
类是一种抽象的数据类型,代表某种实体的抽象概念,描述了所有该类的对象共享的属性和行为,对象是类的实例。
演示代码:
1 | class Car: |
运行结果:
1 | Energy remain: 90% |
9. 文件和异常
9.1 读写文件
演示代码:
1 | from pathlib import Path |
运行结果:
1 | 2 |
9.2 异常
演示代码:
1 | try: |
运行结果1:
1 | Type a number: q |
运行结果2:
1 | Type a number: 6 |
序列化(json库)
演示代码:
1 | import json |
运行结果:
1 | [2, 3, 5, 7, 11, 13] True |
参考书籍: