主题
Python
第三方包
python
# 用于操作Excel文件
pip install openpyxl
# 数据分析的包,用来处理 CSV、JSON、SQL、Microsoft Excel 导入数据
pip install pandas
# 提供时间相关功能,用于计时和延迟
import time
# 提供日期和时间处理功能,用于格式化耗时显示
import datetime
# 处理目录
import shutil
# 调用外部程序或系统命令
import subprocessshutil
是 Python 中用于高级文件操作的模块,它提供了许多方便的方法来处理文件和目录的操作。相比 os 模块,shutil 提供了更高级、更便捷的接口

设置镜像源
shell
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simpleAPI
字符串
python
# 去除前后空格
str.strip()
# 按照分割符分割成数组
str.split('/')日期
python
import time
import datetime
now = datetime.datetime.now()
# 日期格式化
time_str = now.strftime("%Y-%m-%d %H:%M:%S")
start_time = time.time()
#...
end_time = time.time()
total_time = end_time - start_time
duration_str = str(datetime.timedelta(seconds=int(total_time)))
print(f"总耗时: {duration_str}")基础语法
列表
python
# 列表创建
bikes = ['trek','redline']
print(bikes[0])
print(bikes[-1]) # 访问最后一位元素
# 修改、添加、删除
bikes[0] = "giant"
bikes.append("zs")
bikes.insert(0,'ls')
print(bikes.pop(0)) # 移除指定元素并输出
print(bikes.pop()) # 移除最后一个元素并输出
bikes.remove('giant') # 删除匹配到的第一个元素
print(bikes)
# 常用方法
nums = [9,6,1,4,2]
print(len(nums)) # 输出列表长度
nums.sort() # 修改原列表,默认对元素进行从小到大排序
nums.sort(reverse=True) # 倒序
print(sorted(nums))
print(nums.reverse()) # 修改原列表,对元素进行翻转
# 列表推导式
print(range(2))
print(list(range(2)))
squares = []
for val in range(2,5):
squares.append(val)
print(squares)
squares_comp = [val for val in range(2,5)]
print(squares == squares_comp) # True 推导式创建相同元素
print(min(squares),max(squares),sum(squares))
# 切片
bikes = ['trek','redline','giant']
print(bikes[0:]) # ['trek', 'redline', 'giant']
print(bikes[::-1]) # ['giant', 'redline', 'trek']
print(bikes[0:1]) # ['trek']
# 浅拷贝
bikes = ['trek','redline','giant']
bikes_copy = bikes[:]
# 这里不影响原列表
bikes_copy.reverse()
print(bikes_copy)
print(bikes)元组
python
dimensions = (200,50)
for value in dimensions:
print(value)
# 元组无法修改,但是变量可以重新被赋值
dimensions = (300,50)
print(dimensions)
dimensions = 100字典
python
alien = {'color':'green',"point":5}
print(alien['color'])
# 修改、添加、删除
alien['color'] = 'red'
alien['position'] = (0, 25) # 不存在则添加新值
print(alien)
del alien['color']
print(alien)
alien.pop('position')
print(alien)
# 常用方法
favorites = {'jen':'python','edward':'rust'}
print(len(favorites))
for name,language in favorites.items():
print(f'{name} loves {language}')
print(favorites.keys())
print(favorites.values())
# 推导式
squares = {x: x ** 2 for x in range(4)}
print(squares)
keys,vals = [0,1,2,3,],[0,1,4,9]
squares_zip = {
key:val for key,val in zip(keys,vals)
}
print(squares_zip)
print(squares_zip == squares)类
python
class Dog:
"""
模拟小狗类
""" def __init__(self,name,age):
self.name = name
self.age = age
def sit(self):
print(f"{self.name} is now sitting")
def roll_over(self):
print(f"{self.name} rolled over")
my_dog = Dog('zs',6)
print(my_dog.name)
print(my_dog.age)
my_dog.roll_over()
# 继承
class Car:
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
class ElectricCar:
def __init__(self,make,model,year):
"""初始化父类的属性"""
super().__init__(make,model,year)标准库
shell
> python -m pip install --user package_namerandom
python
from random import randint, choice
# 传入2个整数,随机生成之间的整数
num1 = randint(1,6)
print(num1)
# 列表、元组作为参数。随机返回其中一个元素
item = choice(['1','2','3','4','5'])
print(item)示例
python
from random import randint, choice
class Die:
def __init__(self,sides = 6):
self.sides = sides
def roll_die(self):
print(f"{randint(1,self.sides)}")
die_1 = Die(6)
for i in range(10):
print(f"{i+1}次")
die_1.roll_die()python
from random import choice
tickets = ['l','y','q',0,1,2,3,4,5,6,7,8,9,'o','m']#抽奖全部内容
count = 0#计算循环次数
win_tickets = ['l','y','q',5]#获奖元素
while True:
Random_c6 = range(4)#随机抽取六个元素
my_ticket = []#用于存储抽到的六个元素
for ticket in Random_c6:
my_ticket.append(choice(tickets))
print(f"Your tickets is: {my_ticket}")
if my_ticket != win_tickets:
count += 1
if my_ticket == win_tickets:
break
print("Wonderfully! you win")
print(f"You've already gone through cycle {count} times! ")json
python
import json
# 存储json
content = json.dumps(username)
# 读取
username = json.loads(content)pytest
文件需要以test_开头
shell
pip install pytestpython
# name_function.py
def get_formatted_name(first,last):
full_name = f"{first} {last}"
return full_name.title()
def main():
print("Enter 'q' at any time to quit.")
while True:
first = input("\nPlease give me a first name: ")
if first == 'q':
break
last = input("\nPlease give me a last name: ")
if last == 'q':
break
formatted_name = get_formatted_name(first,last)
print(f"\tNeatly formatted name: {formatted_name}.")
if __name__ == '__main__':
main()
# test_name_function.py
from use_pytest import get_formatted_name
def test_first_last_name():
formatted_name = get_formatted_name('janis','joplin')
assert formatted_name == 'Janis Joplin'
# 到目录终端命令行
python -m pytest