跳转至

Python 基础语法

1. 数据类型

  • 数字类型

    • 整型(int):123, -5
    • 浮点型(float):0.618
    • 复数(complex)
  • 字符串(str)

    • "hello"
    • 'hello'
    • """hello""" (可多行)
    • '''hello''' (可多行)

2. 数据类型转换

int(3.14)           # float → int → 3
int("3")            # str → int → 3
float(3)            # int → float → 3.0
float("1.2")        # str → float → 1.2
str(100)            # int → str → "100"
str(12.3)           # float → str → "12.3"

eval("12.3")        # → 12.3 (float)
eval("5 + 2")       # → 7 (int)
eval("print('hello')") # 输出 hello
eval(input())       # 将输入内容转为代码

3. 变量

  • 赋值:n = 12
  • 命名规则:
    1. 由数字、字母和下划线组成
    2. 不得以数字开头
    3. 区分大小写
    4. 不得使用关键字

4. 运算符

  1. 算术运算+ - * / ** // %
  2. 关系运算> >= < <= == !=
  3. 逻辑运算not and or

优先级:算术运算 > 关系运算 > 逻辑运算

5. 输入输出

  • 输入input() 返回字符串

    s = input()
    s = input("请输入你的姓名:")
    
    # 字符串分割
    "a b c d e".split()        # → ['a', 'b', 'c', 'd', 'e']
    "a,b,c,d,e".split(",")     # → ['a', 'b', 'c', 'd', 'e']
    
    arr = input().split()      # 按空格分割输入
    arr = input().split(",")   # 按逗号分割输入
    

  • 输出print()

    print("hello")
    print(1, 2, 3, 4, 5)
    print(1, 2, 3, sep="#", end="%")  # 输出:1#2#3%
    
    # 格式化输出
    print("%d -- %d" % (1, 2))        # → "1 -- 2"
    print("%.2f" % (3.14159))         # → "3.14"
    print("%g" % (2.30000))           # → "2.3"
    print("%d" % (1))                 # → "1"
    print("%4d" % (42))               # → "  42"
    print("%-4d" % (42))              # → "42  "
    print("%04d" % (42))              # → "0042"
    print("%02d:%02d:%02d" % (13, 2, 10))  # → "13:02:10"
    

6. 分支结构

if 5 > 3:
    print(3)
elif 5 > 4:
    print(4)
else:
    print(5)

7. 循环结构

# range循环
for i in range(5):
    print(i, end=" ")  # 输出:0 1 2 3 4

for _ in range(5):     # 不需要使用循环变量时
    pass

# 字符串遍历
for i in "hello":
    print(i, end=" ")  # 输出:h e l l o

# 索引遍历
s = "hello"
for i in range(len(s)):
    print(s[i], end=" ")  # 输出:h e l l o

# range函数
range(5)           # → 0 1 2 3 4
range(0, 6)        # → 0 1 2 3 4 5
range(0, 6, 2)     # → 0 2 4

# 切片操作
"hello"[0:3]       # → "hel"
"hello"[ : ]       # → "hello"
"hello"[::-1]      # → "olleh"
"hello"[0:5:2]     # → "hlo"
"hello"[-1:-5:-1]  # → "olle"

# 无限循环
while True:
    pass

8. 内置函数

  • len():求长度
  • max():求最大值
  • min():求最小值
  • ord():字符转ASCII码
  • chr():ASCII码转字符
  • abs():求绝对值
  • type():查看类型
  • eval():将字符串当代码执行

9. 列表(List)

arr = []                    # 空列表
arr = [1, 2, 3, 4, 5]      # 数字列表
arr = [10, "hello", 3.14]  # 混合列表

# 列表操作
arr.append(element)     # 追加元素到末尾
arr.clear()             # 清空列表
arr.count(element)      # 统计元素出现次数
arr.index(element)      # 返回元素第一次出现的索引
arr.insert(index, element)  # 在指定位置前插入元素
arr.pop(index)          # 移除指定位置的元素并返回
arr.remove(element)     # 移除指定元素
arr.reverse()           # 反转列表
arr.sort()              # 排序列表