跳至主要內容

Python速过文档

黄曦大约 4 分钟语言基础Python

🐍 Python 快速入门指南

语法基础

Python 基本语法、数据类型和运算符

数据结构

列表、元组、字典和集合的使用方法

程序控制

条件判断、循环和迭代操作

函数编程

函数定义、参数传递和递归调用

高级特性

切片操作和迭代器应用

🌟 背景知识

Python 的创造者:Guido van Rossum,荷兰人,人称龟叔

🧩 语法基础

输出与输入

  • 输出: print() 函数,同类型可使用 + 连接,可使用 * 重复
  • 输入: input('xxx') 先显示提示,再等待用户输入,返回值为字符串类型

数字表示

  • 十六进制: 0x
  • 八进制: 0o
  • 二进制: 0b
  • 数字间可用 _ 分隔(仅用于可读性)
  • 科学计数法: 1.2e7
  • 注意:使用 IEEE 754 标准,0.1 + 0.2 != 0.3
  • 除法:默认真实除法 /,地板除法 //

字符串

  • 表示方法: '', "", ''''' (三引号可跨行)
  • 转义: \ 规则同 C 语言
  • 原始字符串: print(r'xxx') 不进行转义
  • 逻辑运算符: and, or, not
  • 空值: None

字符串方法

ord(): 字符转编码值
chr(): 编码值转字符
  • 可用 \u 加十六进制数字表示某个字符
  • 存储或传输时需转换为字节码:
encode('ascii') # 指定编码格式
decode('') # 解码成Unicode,若出错可添加 errors='ignore'
  • 计算长度: len()
  • 格式化方法:
print('value:%d,score:%f'%(7,88.9))
print(f'value:{value},score:{score}') # 优雅写法

🗃️ 数据结构

列表(list)和元组(tuple)

oneList = ['1','2',3,['s']]
# 可以嵌套
len(oneList) # 获取长度
oneList[0] # 从0开始索引
oneList[-1] # 逆向从-1开始
oneList.append(element) # 末尾添加元素
oneList.insert(index, element) # 插入指定位置
oneList.pop(index) # 删除元素,不传参数默认删除末尾
# tuple 不可修改,使用()表示
oneTuple = (1,2)
emptyTuple = () # 空元组
singleTuple = (1,) # 单元素元组需要加逗号

字典(dict)和集合(set)

oneDict = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
  • 存取方法: oneDict['Michael']
  • 修改值: oneDict['Michael'] = 89
  • 判断key是否存在: 'key' in oneDict
  • 安全获取: oneDict.get(key, default_value)
# Set: 数学集合概念
oneSet = set([1,2,3])
oneSet.add(key) # 添加
oneSet.remove(key) # 删除
# 支持交集、并集、差集等操作

⚙️ 程序控制

条件判断

if condition:
    # 执行代码
elif condition:
    # 执行代码
else:
    # 执行代码

循环结构

# for 循环
for item in items:
    # 处理每个元素

# 使用 range()
for i in range(10): # 0-9
    # 执行代码

# while 循环
while condition:
    # 条件满足时持续执行

# 示例
n = 10
sum = 0
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)
  • break: 跳出循环
  • continue: 跳过当前迭代

📦 函数编程

函数定义

def one_function(x, y=2):
    pass # 占位符
  • def: 定义函数关键字
  • 函数名: 指向函数对象的引用,可赋值给变量作为别名
  • 参数: x,y 为形参,后接冒号
  • 返回值: return x,y 实际返回一个元组(语法糖)
  • 参数规则:
    • 形参与实参个数要匹配
    • 默认参数需放在必要参数之后
    • 可通过命名参数传递: func(name='xiaoming', sex=0)

函数调用

# 调用方式
result = function_name(arg1, arg2, ...)
  • 执行结果是函数内部 return 的值
  • 可使用变量接收返回值

递归调用

def fact(n):
    if n == 1:
        return 1
    return n * fact(n - 1)
  • 递归调用时必须有终止条件,否则会导致死循环

🔍 高级特性

切片操作

list = [1,2,3,4,5,6,7,8]
# [start:end:step]
# start: 开始索引,默认0
# end: 结束索引,默认长度,不包含该位置
# step: 步长,默认1
  • 负数索引也可切片,最后一位是 -1
  • [-2:]: 取后两位
  • [-2:-1]: 取倒数第二位
  • 同样适用于 tuple 和 string

迭代操作

迭代字典

# 迭代key(默认)
for key in dic:
    print(key)

# 迭代value
for value in dic.values():
    print(value)

# 同时迭代key和value
for key, value in dic.items():
    print(key, value)

可迭代对象判断

from collections.abc import Iterable
isinstance(object_to_check, Iterable) # 返回True/False

C风格for循环实现

# enumerate() 将可迭代对象转化为索引和值的形式
for i, value in enumerate(['a','b','c','d','e','f','g']):
    print(i, value)