md
python
生成器是一个函数,它返回一个对象(迭代器),我们可以对其进行迭代(一次一个值)
如何在 Python 中创建生成器?
在 Python 中创建生成器非常简单。 就像使用 yield 语句而不是 return 语句定义普通函数一样容易。
如果一个函数包含至少一个 yield 语句(它可能包含其他 yield 或 return 语句),那么它就成为一个生成器函数。yield 和 return 都将从函数返回一些值。
不同之处在于,当 return 语句完全终止一个函数时,yield 语句会暂停该函数保存其所有状态,然后在后续调用时继续执行
生成器函数与常规函数之间的区别
这是生成器函数与常规函数的不同之处。
生成器函数包含一个或多个 yield 语句。
调用时,它返回一个对象(迭代器),但不会立即开始执行。
像**iter**()和**next**()这样的方法会自动实现。因此,我们可以使用 next()来遍历项目。
一旦函数产生了结果,函数就会暂停,控制就会转移给调用者。
局部变量及其状态在连续调用之间被记住。
最后,当函数终止时,在进一步调用时会自动引发 StopIteration。
这是一个示例,用于说明上述所有要点。我们有一个 my_gen()由几个 yield 语句命名的生成器函数
在 Python 中,使用 yield 的函数被称为生成器函数(generator function)。
生成器有两种方法:next()和 send(),都可以调用生成器
使用 yield 把函数变成一个生成器函数,每次只产生一个元素,就能节省很多开销了
scrapy shell https://maoyan.com/board/4?offset=0
https://bot.sannysoft.com/
抓取微博和今日头条所有可获取的有关“智慧养老的数据” 1.利用 python 进行数据预处理,滤除重复无用信息(最好可以看到具体数字),刻画人群画像 2.进行中文分词并提取高频词制作词云 3.进行情感分析,判断所包含的正负面情感词个数,分析大众对于智慧养老的看法 4.基于 LDA 模型挖掘数据集中的潜在主题。
tushare a022dd80c02b0ea4ce9c232088a9ae61fd08250b81b19561b4d37dc5
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
修改 python310.\_pth,去掉 import site 前的注释,这样 "\lib\site-packages"才会加入 sys.path 中
Lib\site-packages
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn
python get-pip.py
pip freeze > requirements.txt
pip install virtualenv
pip install --no-cache-dir virtualenvwrapper
pip install --no-cache-dir -U -r .\requirements.txt
git clone https://github.com/secdev/scapy
pip cache purge
pip config set global.cache-dir falsepyinstaller
python
pyinstaller --add-data="D:\Program Files (x86)\python3\Lib\site-packages\pyecharts;pyecharts" -F .\main.py\ --clean
pyinstaller --add-data="D:\Program Files (x86)\python3\Lib\site-packages\fake_useragent;fake_useragent" --add-data="xxx;." -F .\main.py\ --clean -i "xxxx" -n="xxx"
powershell
$env:PLAYWRIGHT_BROWSERS_PATH="0"
$env:PLAYWRIGHT_SKIP_BROWSER_GC="1"
playwright install chromiumpip.conf
[global]
index-url=http://pypi.douban.com/simple
extra-index-url=http://mirrors.aliyun.com/pypi/simple
https://pypi.tuna.tsinghua.edu.cn/simple/
http://pypi.mirrors.ustc.edu.cn/simple/
[install]
trusted-host=
pypi.douban.com
mirrors.aliyun.com
pypi.tuna.tsinghua.edu.cn
pypi.mirrors.ustc.edu.cn
disable-pip-version-check = true
timeout = 60http server
python -m http.server 8080
conda
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/msys2
conda config --set show_channel_urls yes
可以做什么


## json json.dumps将python对象格式化成json字符(将dict转化成str) json.loads将json字符串解码成python对象(将str转化成dict)
case
python
match xxx:
case "xxx":
xxx升级所有依赖
pip-reviewf-string
print(f"{name:_>20}: {value}")
print(f"{name:#<20}: {value}")
print(f"{name:|^20}: {value}")
# 结果
_________________var: 100
var#################: 100
||||||||var|||||||||: 100web
flask
实用
d1 = {'a': 1, 'b': 2}
d2 = {'b': 3, 'c': 4}
merged = {**d1, **d2} # 结果: {'a': 1, 'b': 3, 'c': 4}
set1 = {1, 2, 3}
set2 = {2, 3, 4}
unique_elements = set1.symmetric_difference(set2) # 结果: {1, 4}
from functools import partial
def power(base, exponent):
return base ** exponent
square = partial(power, exponent=2)
print(square(5)) # 结果: 25
python -m http.server 80
python -m pyftpdlib -p 2121 -w -u admin -P admin -d .pandas
pandas筛选不包含字符串, 不在列表内
不包含字符串
df[(df[‘订单号’].str.contains(‘S0’) == False)]
不在列表内
df[(~ df[‘订单号’].isin([‘S0’, ‘S1’]) )]进化
Level 1:
def xxx():
name="xxx"
Level 2:
import argparse
python xxx.py -n
Level 3:
from prompt_toolkit.shortcuts import radiolist_dialog ,yes_no_dialog
level 4:
pyinstaller
./xxx.exe海象运算符
海象运算符的符号是:=,允许在表达式内部进行赋值操作
variable := expression