pyhton的tips

263 阅读5分钟

python中获取字符unicode编码:ord()函数,  python3中字符串是使用unicode编码的  转换为字符为chr() encode()方法以指定编码格式编码字符串 decode()用指定的编码方式进行解码  类名首字母大写;函数小写,单词间用_分隔  将列表转换为字符串的方法:"".join(list) 前提是列表中的元素是字符或者字符串,是数字就不行 “奇数”、“质数”、“素数”  python3中默认使用utf-8编码,如果想使用特定编码,可以在文件开头写上# coding = utf-8  vscode中使用快捷键ctrl+ D快捷退出python交互环境  一个包的结构 如图所示包定义文件的列表变量:all,可以指定全部导入时可以从该包中导入的内容 autopep8是一个自动格式化python代码来符合pep8风格指南,使用需要安装  通过id()查看对象的内存地址  在做题中遇到一道题:python的数字类型有哪些:可以说是有四类,整数、浮点数、复数,python3中将int和long归结为int,并且bool型是整型的子类型  在进行浮点数运算过程中,浮点数会因为没有精确的表示从而在   运算过程时出现精度问题,导致影响。例如: a = 1.1  
b = 2.2 
a + b   
3.3000000000000003 # 可以发现精度问题  解决办法: 使用内置函数round()获得近似值,其中不带可选参数digits则会返回最接近的整数,例如:a = 1.234 
round(a) 1   带了digits表示精确到小数点后几位,例如   round(a, 2) 
1.23 另一种浮点数获得正确的结果就是使用decimal模块,注意Decimal是字符串形式的数字。例如:from decimal import Decimal 
a = Decimal('1.1') + Decimal('2.2') 

Decimal('3.3') ```int()函数在将字符串作为参数时,字符串内不能是浮点数,必须为整数  如果需要将字符串中的浮点数转换为整数,需要两步:先转换为浮点数、再转换为整数,例如: python a = '3.1415926' b = float(a) c = int(b) Python求累加、累乘 - 知乎 (zhihu.com) 注意python中没有C++类似的'+=',而是应该写成sum = sum + i的形式 字符串索引用于获取单个字符,切片用于获取子字符串  了解一下转义字符使用  续行符\  如果要在单引号字符串中使用单引号,可以用转义字符,例如:print('It's ok ')  响铃\a  退格\b  换行\n  回车\r,是光标重新回到本行开头  横向制表符\t  纵向制表符\v  避免转义\,当遇上特殊字符但不需要转义时,可以在特殊字符前面加上反斜杠从而避免转义。例如:print('D:\tt\no\research') 
D:\tt\no\research   当然遇到这种情况也可以使用原始字符串r或者R,这样也能正常输出,例如: print(r'D:\tt\no\research') 
D:\tt\no\research 数字和字符串的拼接可以将数字转换成字符串再拼接  字符串格式化 用法:在字符串前加上f或者F,然后在字符串中使用大括号引入变量或表达式即可,例如:year = 2022 
month = 9 
day = 19 
f'今年是{year}年{month}月{day}日'   
'今年是2022年9月19日' 还可以使用格式说明符,用法::后面加东西,有小数2位数或者转换为百分数的方法format格式化该方式是将传递给format()方法的对象传递到花括号内。多种使用方式可以随时查看笔记 三引号可以跨越多行输出,保持我们特殊样式的输出需求  由于元组为不可变类型,对元组进行修改需要结合+和切片操作实现  使用字典查值时推荐使用get()方法,当键值不存在不会报错会返回None,也可以自定义返回,例如 a = {'one':1, 'two':2, 'three':3}
a.get('four', '不存在')

结果是‘不存在’字典的pop item()方法会返回键值对形式的元组,删除顺序是后进先出  由dict.keys(), dict.values(),dict.items()返回的对象为视图对象。该对象提供字典条目的一个动态视图,当字典改变时,视图也会相应改变,字典视图是可迭代的,因此可以转换为list或tuple或set,然后进行切片或索引操作  题目输出要求数字之间以空格分隔,可以将得到的数字以字符形式存进列表,再使用join方法连接起来,可以保证以空格相隔并且最后一个不会有空格  使用python输出时控制精度问题的时候,除了使用%输出的方法,也可使用格式化方法 # 输出保留两位小数

a = 0.3245
print(f'输出为:{a:.2f}')

或者是以下方法 

print('输出为:{:10.2f}'.format(a))

这里的10表示域宽 python中同一优先级按从左到右顺序执行,但是注意幂运算是按照从右往左执行  四则运算高于位运算和比较运算  pass语句是一个空语句,不做任何事情,一般用作占位语句,当我们在开发过程中,遇到暂时不确定的内容,可以使用pass占位,这样运行就不会报错了  最大公约数 x 最小公倍数 = 两个数之积  python中如果一个数字为num=1234,如何转换为列表表示的[1,2,3,4]呢,可以这样做:num = 1234

先把数字转为字符串,然后转为列表,然后再将列表元素字符串转为数字

numlist = list(str(num))
numlist = [int(x) for x in numlist]
numlist注意要求一个数中包含某个因子的个数共有多少,就可以这样用