学习 Python

项目里面用的是 flask
所以先从 flask 学起吧。

GitHub - jackfrued/Python-100-Days: Python - 100天从新手到大师

init 和 main 的区别是什么

循环

Python For Loops

for i

while

模块

Fetching Title#aodf

IMG-20240904095322222

事实上,Python 查找一个变量时会按照“局部作用域”、“嵌套作用域”、“全局作用域”和“内置作用域”的顺序进行搜索,前三者我们在上面的代码中已经看到了,所谓的“内置作用域”就是 Python 内置的那些标识符,我们之前用过的 inputprintint 等都属于内置作用域。

python 切片的尾下标,是不包含在内的

0 1 2 3 4 5

比如说 [0:3] 取的是 0,1,2 这三个值

list remove 的是第一个匹配项

文件

Python-100-Days/Day01-15/11.文件和异常.md at master · jackfrued/Python-100-Days · GitHub

IMG-20240904095322364

2024-03-04 看到了文件这里


正则表达式

推荐的教程 正则表达式30分钟入门教程

推荐的练习网站 regex101: build, test, and debug regex

进程与线程

进程与线程的一个简单解释 - 阮一峰的网络日志

multiprocessing — Process-based parallelism — Python 3.12.2 documentation


from multiprocessing import Process
from os import getpid
from random import randint
from time import time, sleep
 
 
def download_task(filename):
    print('启动下载进程,进程号[%d].' % getpid())
    print('开始下载%s...' % filename)
    time_to_download = randint(5, 10)
    sleep(time_to_download)
    print('%s下载完成! 耗费了%d秒' % (filename, time_to_download))
 
 
def main():
    start = time()
    p1 = Process(target=download_task, args=('Python从入门到住院.pdf', ))
    p1.start()
    p2 = Process(target=download_task, args=('Peking Hot.avi', ))
    p2.start()
    p1.join()
    p2.join()
    end = time()
    print('总共耗费了%.2f秒.' % (end - start))
 
 
if __name__ == '__main__':
    main()

Process 对象的 start 方法用来启动进程,而 join 方法表示等待进程执行结束

process

subprocess

Python 实现并发编程主要有 3 种方式:多进程、多线程、多进程 + 多线程。

进程通信

IMG-20240904095322462