强制转换字符串函数str
如果我们求2的一百万次方是多少那么我们可以
print(2**1000000)
如果我们要求2的一百万次方有多少位那么我们可以用str函数强制转换成字符串然后len函数计算
代码
print(len(str(2**1000000)))
math模块
几个比较强的
①gcd
求两个数的gcd
import math
print(math.gcd(12,8))
求12和8的最大公约数
②degrees
弧度转换为角度
import math
print(math.degrees(1))
求1的角度值
③factorial
求阶乘
import math
print(math.factorial(100))
求100的阶乘
④log
默认以e为底,包含两个参数(a,b)a是真数b是底数
import math
print(math.log(32,2))
求log2 32
⑤radians
把角度转换成弧度
import math
print(math.radians(30))
random 模块
感觉比较常用的
①random
返回0-1之间的一个随机浮点数
import random
print(random.random())
接受两个参数a,b返回[a,b]之间的随机浮点数,如果b小于a那么返回[b,a]
import random
print(random.uniform(1,100))
import random
print(random.uniform(100,1))
③randint
接受两个参数返回[a,b]之间的随机整数,注意这个地方b不能大于a
import random
print(random.randint(1,100))
④randrange
在range里面随机选取一个数
import random
print(random.randrange(1,10,3))
只能随机整数?存疑
⑤choice
随机选取序列中的一个元素
import random
a=['c++','python','c#','c--']
print(random.choice(a))
序列下标含有-1
倒序取元素,正序是从0开始,倒序是从-1开始!!!
无法像c++的string一样直接修改字符串,需要使用list函数转换成序列后进行修改
l='abcd'
s=list(l)
s[-1]='e'
print(s)
从左向右执行类似于对象函数的东西
这些都是不改变原来字符串的操作。
字符串具有不可变性!!!
l='lllljk'
print(l.replace('jk','jc').upper())
类似于c的%
后面无需再加入,直接%即可,前面有类型后面没有类型
print('%.2f' %3.1415)
dir寻找所有可用的东西,help寻找解释
s='abcd'
print(dir(s))
print(help(s.find))
re模块
待填坑
list推导表达式
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
例子
a=[i for i in range(1,100)]
print(a)
字典get函数
避免出现访问错误,第一个参数是显示访问的元素,第二个是如果出错那么返回的默认值
同样可以写成 if else语句
a={'name':'abc','age':'27'}
print(a.get('name','none'))
print(a.get('sex','none'))
print(a['sex'] if 'sex' in a else 'none')
python打表
open函数与close一块使用,输出必须是字符串所以要强制转换
import math
f=open("data.out","w")
a=[math.factorial(i) for i in range(101) if i%2==0]
for jk in a:
f.write(str(jk)+',')
f.close()
打表100以内偶数的阶乘
分数处理
from fractions import Fraction
特点自动约分,支持分数相加相减平方,自动约分浮点数
from fractions import Fraction
print(Fraction(3,4)+Fraction(4,3))
print(Fraction(3.5))
type返回类型
用于返回类型
L=[]
print(type(L))