Python 基础语法全面解析

格式化输出

% 格式化输出

1
2
3
4
5
6
name = 'czxh'
age = 18
print("我的姓名:%s 我的年龄:%06d" % (name, age)) # 输出:我的姓名:czxh 我的年龄:000018

s = 4.3
print("%.6f"%s) # 设置小数点位数,输出:4.300000

f-string 格式化输出

1
print(f"我的名字是{name},年龄是{age}")  # 输出:我的名字是czxh,年龄是18

format 方法

1
2
3
4
5
6
7
# 基本用法
print("The value is: {}".format(100)) # 输出:The value is: 100
print("{} and {}".format("apple", "banana")) # 输出:apple and banana

# 格式化数字
print("{:05d}".format(123)) # 输出:00123
print("{:.2f}".format(3.14159)) # 输出:3.14

运算符

算术运算符

1
2
3
print(7//2)  # 取整除,输出:3
print(5%2) # 取余数,输出:1
print(7**2) # 幂运算,输出:49

赋值运算符

1
2
3
4
5
6
7
8
num1 = 5
num2 = 8
num3 = num1
num4 = num1 + num2

a = 1
a = a + 1
a += 1 # 等价于 a = a + 1

流程控制

if 判断

1
2
if 5:
print("haha1111") # 输出:haha1111

逻辑运算符

1
2
3
4
5
6
7
8
9
10
a = 'haha'
b = 'heihei'

if a == 'haha' and b == 'heihei':
print('666666666') # 输出:666666666

if a == 'haha' or b == '666':
print('777777777') # 输出:777777777

print(not 3 < 9) # 输出:False

三目运算

1
2
result = "真" if 1 == 1 else "假"
print(result) # 输出:真

循环结构

while 循环

1
2
3
4
i = 1
while i <= 5:
print("1111")
i += 1

for 循环

1
2
3
4
5
6
s = 'helloworld'
for i in s:
print(i) # 逐个输出字符

for i in range(1, 6):
print(i) # 输出:1 2 3 4 5

字符串操作

编码转换

1
2
3
4
a = 'hello'
a1 = a.encode() # 编码
a2 = a1.decode() # 解码
print(a2) # 输出:hello

字符串运算符

1
2
print("10" + "10")  # 字符串拼接,输出:1010
print("hello" * 5) # 字符串重复,输出:hellohellohellohellohello

字符串切片

1
2
3
s = 'abcdefghigklmn'
print(s[0:4]) # 输出:abcd
print(s[-1:-5:-1]) # 输出:nmlk

列表操作

基本操作

1
2
3
4
5
6
li = [1, 2, 3, 4]
print(li[0:3]) # 输出:[1, 2, 3]

# 列表推导式
li = [i for i in range(1, 51) if(i % 2 == 0)]
print(li) # 输出1-50的偶数列表

列表方法

1
2
3
4
li = [1, 2, 3]
li.append(4) # 添加元素
li.remove(2) # 删除元素
li.sort() # 排序

元组

1
2
t = (1, 2, 3, 4)
print(t[2]) # 输出:3

字典

基本操作

1
2
3
4
5
dic = {'name':'my3171', 'age':'18'}
print(dic['age']) # 输出:18

dic['tel'] = '1333333' # 添加元素
del dic['tel'] # 删除元素

字典方法

1
2
3
print(dic.keys())    # 输出所有键
print(dic.values()) # 输出所有值
print(dic.items()) # 输出所有键值对

集合

1
2
3
4
s = {1, 2, 3, 4}
s.add(5) # 添加元素
s.remove(3) # 删除元素
print(s & {3,4,5}) # 交集,输出:{4,5}

类型转换

1
2
3
4
5
print(int("123"))      # 字符串转整数
print(float(123)) # 整数转浮点数
print(str(123)) # 数字转字符串
print(list("abc")) # 字符串转列表
print(tuple([1,2,3])) # 列表转元组

函数

基本函数

1
2
3
def login():
print("这是一个函数")
login()

参数类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 必备参数
def func(num1, num2):
return num1 + num2

# 默认参数
def func(a=18):
print(a)

# 可变参数
def func(*args):
print(args)

# 关键字参数
def func(**kwargs):
print(kwargs)

闭包

1
2
3
4
5
6
7
8
9
def outer():
a = 5
def inner():
nonlocal a
a = 20
print("inner:", a)
inner()
print("outer:", a)
outer()

内置函数

1
2
3
4
5
print(abs(-10))       # 绝对值
print(len("hello")) # 长度
print(max(1,2,3)) # 最大值
print(min(1,2,3)) # 最小值
print(sum([1,2,3])) # 求和

文件操作

1
2
3
4
5
6
with open('test.txt', 'w') as f:
f.write("Hello World")

with open('test.txt', 'r') as f:
content = f.read()
print(content)

异常处理

1
2
3
4
5
6
try:
print(1/0)
except ZeroDivisionError:
print("不能除以零")
finally:
print("执行完毕")

面向对象

1
2
3
4
5
6
7
8
9
10
class Person:
def __init__(self, name, age):
self.name = name
self.age = age

def say_hello(self):
print(f"你好,我是{self.name}")

p = Person("小明", 18)
p.say_hello()

模块导入

1
2
3
4
5
import math
print(math.sqrt(16)) # 平方根

from datetime import datetime
print(datetime.now()) # 当前时间