特殊算数运算 计算整数的和
l = [1,2,3,4,5]
print(sum(l))
除法运算,然后取余
在做页面的时候可以根据数据量分页的时候使用
print(divmod(10,3)) # (3, 1)
四舍五入
print(round(3.5))
计算绝对值
print(abs(-1))
布尔运算判断
将序列的元素进行布尔运算
0,none,空为假,其他为真
一个为假就输出false
特例:如果没有元素则返回true
print(all([1,2,3,4,"yang",5,0])) # False
print(all([])) # True
将序列的元素进行布尔运算,0,none,空为假,其他为真
任意为真就输出true
print(any([0,1])) # True
判断布尔值
以下为fales,其他都是true
print(bool(None))
print(bool(""))
print(bool(0))
进制转换
十进制转换成二进制
print(bin(3))
十进制转换成八进制
print(oct(3))
十进制转换成十六进制
print(hex(12))
字符串转换
转换成字符串形式
用处比较宽泛,比如数字转换字符串来拼接而不是相加之类的
ps:被字符串化后的数据可以用eval提取出来其原来的结构
dic = {'yangtuo':"tiancai"}
dic_str = str(dic)
print(dic_str) # {'yangtuo': 'tiancai'}
print(type(dic_str)) # <class 'str'>
将字符串中的数据结构提取出来
dic = {'yangtuo':"tiancai"}
dic_str = str(dic)
di = eval(dic_str)
print(di["yangtuo"]) # tiancai
如果是一组操作数可以直接计算出来
d2 = "1*8*96"
print(eval(d2)) # 768
使用帮助方法
显示用法
print(help(all))
elp on built-in function all in module builtins: all(iterable, /)
Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. None
显示可以使用的方法名字
print(dir(all))
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']
查看全局变量
name = "sssjsjk"
print(globals())
查看局部变量
def test():
print(globals())
name = ""
print(locals())
其他方法
ACLSS表中的对应号码转换
print(chr(97)) # a # 编号对应的字符
print(ord("a")) # 97 # 字符对应的编号
哈希运算
只有不可变数据类型才可以哈希,可变的无法哈希
无法通过哈希值反推出源数据
不管多长代码,得出的哈希值都是一定的长度
print(hash("121343shdahkdsh"))
翻转,但是不改变源数据
l = [1,2,3,4]
print(list(reversed(l))) # [4, 3, 2, 1]
print(l) # [1, 2, 3, 4]
定义切分方法,减少硬编码,增加可读性
l = "hello"
print(l[3:5])
s1 = slice(3,5)
s2 = slice(1,4,2)
print(l[s1])
print(l[s2])
排序,本质就是比较大小,不同类型无法比较大小后排序
l = [3,2,1,5,7]
l2 = [3,2,1,5,7,"a"]
print(sorted(l))
print(sorted(l2)) # TypeError: '<' not supported between instances of 'str' and 'int'
较为复杂的排序
比较年领
people=[
{'name':'alex','age':1000},
{'name':'wupei','age':10000},
{'name':'yuanhao','age':9000},
{'name':'linhaifeng','age':18},
]
print(sorted(people,key=lambda dic:dic["age"]))
比较价格 返回不同的值
name_dic={
'abyuanhao': 11900,
'alex':1200,
'wupei':300,
}
print(sorted(name_dic)) # 按照key去比较。返回key
print(sorted(name_dic,key=lambda key:name_dic[key])) # 按照values比较。返回的是key
print(sorted(zip(name_dic.values(),name_dic.keys()))) # 按照先比较values比较,然后返回全部的键值对
其他sorted详细使用见此链接
http://www.runoob.com/python/python-func-sorted.html
比较年领