学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。
热爱写作,愿意让自己成为更好的人…
…
铭记于心 | ||
---|---|---|
✨我唯一知道的,便是我一无所知✨ |
map(函数,可迭代对象(列表等)),返回map对象,可用list转换成列表,可用for in便遍历
当使用map时只是封装了一个map对象,此时并没有进行运算,需要list( )转换时才会运算
函数体或者lambda表达式中 创建局部变量与 全局变量重名,则函数体内会以新创建的 局部变量为准
Lambda表达式还可以结合自定义函数使用(除了与map外)
def con(args):
x1min,x1max,x2min,x2max,x3min,x3max = args
cons = ({'type':'ineq','fun':lambda x : x[0] - x1min},\
{'type':'ineq','fun':lambda x:-x[0] + x1max},\
{'type':'ineq','fun':lambda x:x[1] - x2min},\
{'type':'ineq','fun':lambda x:-x[1] + x2max},\
{'type':'ineq','fun':lambda x:x[2] - x3min},\
{'type':'ineq','fun':lambda x:-x[2] + x3max})
return cons
t=1
global tt=1
此时 t与tt都是全局变量
但是
def test():
t=2
global tt=2
此时t为局部变量,tt则是全局
下面 print(t)错 print(tt)正确
函数体内使用全局变量的方法是
index =0
def t():
global index
index+=1
海象运算符的优先级是低于关系运算符的
小数精确运算模块decimal
import decimal
print(decimal.Decimal('111.111')+decimal.Decimal('222.222'))
333.333
类型转换: int( ),str( )等
if else的几种写法
msg = "大于" if a > b else "小于"
print('大于') if a > b else print("小于")
msg = ("a小于b", "a大于b")[a > b]
msg = {2: '=2', 1: '=1', 3: '=3'}[b - a]
如果出现莫名其妙的问题,可以关闭python环境重新打开,比如上次 Pillow的grab 截图时出现 什么XCB不支持,结果重开pycharm就好了
对于非列表与字典,numpy库等,copy后更改不会影响到原副本,但是对列表等可迭代对象却只是浅拷贝(一维表的时候复制的是值,不会对原表造成影响,但如果是二维表,则会拷贝其中一维表的内存地址,这时候如果对其中的值操作会使原表受到影响),深拷贝只能用deepcopy(需导入copy模块)
类中调用类的方法一定要加self,并且向方法传递实参的时候无需传self
python中可用r’\\'解决 编程语言中字符串使用 正则表达式 需要用\\\\表示 \的问题
re findall方法会 返回匹配到的所有字符串,如果正则表达式里有 捕获,那么只返回匹配到的字符串的 捕获的组
单独赋给一个字符串时r这些标志符才生效
循环体中不需要使用自定义变量的话,可用_代替
python中else if 为elif;对不可变类型重新赋值,会指向一片新的空间,原空间会被抛弃(权限被系统收回)
for 变量 in 可迭代对象(字符串或序列) 即以循环方式将可迭代对象中的元素依次取出
print()自动换行,但是可以在()里语句后加入end =’ ’ 即为用空格代替换行,='\t’即为用\t 代替
decode方法是将字节数组 解码为字符串,然后encode是将字符串 编码成字节数组
Natsort自然排序模块
x = eval(input('input x: ')) eval()将输入作为表达式运算
set()去重,Counter 对字符串(列表)进行计数追踪,
a, b = map(int, input().strip().split())
del关键字 删除的是 变量本身,而不是其引用的数据,也就是 使用del a,再引用a则会报错
内置函数 enumerate(list) 可取下标 len()计算长度
import 的包没有用到 会呈现灰色,但是也是已经导入了的,只是没用到而已(所以最好优化导入,避免产生包冲突)
type() 返回数据结构类型(list、dict、numpy.ndarray 等)
dtype 返回数据元素的数据类型(int、float等)
astype() 改变np.array中所有数据元素的数据类型]
print(line, end=‘\r’)打印一行消失一行
字典对值排序:sorted(dic.items(),key=lambda x: x[1]),逆向的话 如果是数值 可以 -x[1/0]
如果有多个值,取其中几个降级排序,则可以用 operator.itrmgetter (整数序列,表示要取得下标) 获得
写在最后:
路漫漫其修远兮,吾将上下而求索!伙伴们,再见!