码迷,mamicode.com
首页 > 编程语言 > 详细

python-的--内置函数'们'

时间:2018-08-14 22:59:14      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:函数   lis   计算   科学计数法   dir   bcd   zip   不一致   abs   

 一 . 与数学相关

  1. 数学运算

      .abs:求数值的绝对值

print(abs(-88))

结果:
88

      .divmod:返回两个数的商和余数

print(divmod(10,3))

结果:
(3,1)

      .max:返回可迭代对象中的元素中的最大值或者所有参数的最大值

print(max(1,2,3))           #传入3个数,去3个中最大值
print(max("1234"))          #传入一个可迭代对象,取其最大元素值
print(max(-1,0))            #数值默认取数值较大者
print(max(-5,-9,key=abs))   #传入求绝对值函数,则参数都会进行求绝对值后在取较大者

结果:
3
"4"
0
-9

      .min:返回可迭代对象中的元素中的最小值或者所有参数的最小值

print(min(1,2,3))
print(min("1234"))
print(min(-1,-2))
print(min(-1,-2,key=abs))

结果:
1
1
-2
-1

      .pow:返回两个数值的幂运算值或者与其指定整数的模值

print(pow(2,3))     #2*2*2
print(pow(2,3,5))   #(2*2*2) % 5   有三个参数的时候,前两个数求次幂然后对第三个数取余

结果:
8
3

      .round:对浮点数进行四舍五入

print(round(1.18354))
print(round(1.3489125,5))    #5是对数值取小数点后5位

结果:
1
1.34891

      .sum:对元素类型是数值的可迭代对象中的每个元素求和

print(sum((1,2,3,4,5,6)))    #必须是可迭代的,元素类型必须是数值型
print(sum((1,2,8,9),-10))

结果:                       
21
10

  2. 数据类型转换    

      .bool:根据传入的参数的逻辑值创建一个新的布尔值

print(bool())     # 未传入参数
print(bool(0))   #数值0,空序列等值为False
print(bool(1))
   
结果:
False
False
True

      .int:将给定的数据转换成int()值,如果不给值,返回0

print(int())         #不传入参数,得到结果为0
print(int(6))  
print(int(6.6))

结果:
0
6
6

      .float:将给定的数据转换成float值,也就是小数

print(float())      #不提供参数的时候,返回0.0
print(float(3))
print(float("3"))

结果:
0.0
3.0
3.0

      .complex:创建一个复数,第一个参数为实部,第二个参数为虚部,或者第一个参数直接用字符串来描述复数

print(complex())           #当两个参数都不提供,返回复数 0j
print(complex("1+2j"))  #传入字符串创建复数
print(complex(1,2))       #传入数值创建复数
 
结果:
0j
(1+2j)
(1+2j)

 3 . 进制转换     

      .bin:将给定的数转换成二进制

print(bin(8))

结果:
0b1000

      .oct:将给定的数转换成8进制

print(oct(5))

结果:
0o5

      .hex:将给定的数转换成16进制

print(hex(15))

结果:
0xf

 二 . 和数据结构相关

   1 . 序列

      .list:将一个可迭代对象转换成列表

print(list())
print(list("abcd"))

结果:
[]
["a","b","c","d"]

      .tuple:将一个可迭代对象转换成元组

print(tuple())
print(tuple("123"))

结果:
()
("1","2","3")

      .reversed:将一个序列翻转,返回序列的迭代器

lst = ["马化腾", "马云", "马大帅", "马超"]
ll = reversed(lst)                       # reversed()翻转. 返回迭代器
print(list(ll))
print(reversed(lst))

结果:
[马超, 马大帅, 马云, 马化腾]
<list_reverseiterator object at 0x000000000285B208>

      .slice:列表的切片

li = ["马化腾","马云","许家印","向华强"]
s = slice(1,3,2)
print(li[s])
    11                 #相等
print(li[1:3:2]) 

结果:
[马云]
[马云]

      .str:将数据转换成字符串

      .format:与具体数据有关,用于计算各种小数,精算等.

s = "抽烟"
print(s.center(20)) # 拉长到20 源字符串居中
#字符串
print(format(s,"^20")) # 居中
print(format(s,">20")) # 右对齐
print(format(s,"<20")) # 左对齐

结果:
         抽烟         
         抽烟         
                  抽烟
抽烟                  
 
浮点数
print(format (123456789, e ))   # 科学计数法. 默认保留6位?数
print(format (123456789, 0.2e ))   # 科学计数法. 保留2位?数(?写)
print(format (123456789, 0.2E ))   # 科学计数法. 保留2位?数(?写)
print(format (1.23456789, f ))   # ?数点计数法. 保留6位?数
print(format (1.23456789, 0.2f ))   # ?数点计数法. 保留2位?数
print(format (1.23456789, 0.10f))   # ?数点计数法. 保留10位?数
print(format (1.23456789e+10000, F ))   # ?数点计数法. INF 无穷大


数值 print(format(3, b)) # 二进制 11 print(format(97, c )) # 转换成unicode字符 print(format(11, d )) # 十进制 print(format(11, o )) # ?进制 print(format(11, x )) # ?六进制(?写字?) print(format(11, X )) # ?六进制(?写字?) print(format(11, n )) # 和d?样 print(format(11)) # 和d?样

      .bytes:把字符串转换成bytes类型

print(bytes("哈哈",encoding="utf-8"))   #把字符串编码成utf-8

结果:
b\xe5\x93\x88\xe5\x93\x88

       .bytearray:返回一个新字节数组,这个数字里的元素师可变的,并且每一个元素的值得范围是[0,256]

ret = bytearray("tom",encoding="utf-8")
print(ret[0])     #取字母 t 在 ascii  码中的位置
print(ret)

结果:
116
bytearray(btom)        #字节数组

      .memoryview:查看bytes在内存中的情况

s = "我是真的很好看"
print(memoryview(s.encode("utf-8")))

结果:
<memory at 0x0000000002872108>

      .ord:输入字符找带字符编码的位置

      .chr:输入位置数字找出对应的字符

      .ascii:是 ascii 码中的值返回该值,不是就返回\u

print(ord(""))
print(ord(""))
print(ord(""))
print(chr(25478))
print(ascii("a"))
print(ascii(""))     #在ascii中没有中文

结果:
25105
29233
20320\u4e2d

      .repr:返回一个对象的string形式

repr 就是原封不动的输出,引号和转义符都不起作用
print(repr(大家好,\n好))
print(repr(大家好,\\好))

结果:
大家好,\n好
大家好,\\好

    2.数据集合

      .dict:创建一个字典

      .set:创建一个集合

      .frozenset:创建一个冻结的集合,冻结的集合不能进行添加和删除的操作

    3.相关的内置函数

      .len:返回一个对象的元素的个数

      .sorten:对可迭代对象进行排序操作

      .enumerate:获取集合的枚举对象(和 for i in range(len(li)) 相似)

lst = ["张国荣", "黄渤", "郭达森", "泰森", "甄子丹"]
for i,el in enumerate(lst):
    print(i,el)

结果:
0 张国荣
1 黄渤
2 郭达森
3 泰森
4 甄子丹

      .all:可迭代对象中全部都是True,结果才是True(和and相似)

      .any:可迭代对象中有一个是True,结果就是True(和or相似)

      .zip:函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回这些元组组成的列表,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同(水桶效应)

lst1 = ["甜蜜蜜", "往事只能回味", "难忘今宵", "分红的回忆", "十年"]
lst2 = ["邓丽君", "韩宝仪", "李谷一", "王宝强", "陈奕迅"]
lst3 = ["2000","3000","5","120","50000"]
a = zip(lst1, lst2,lst3)               # 水桶效应
print("__iter__" in dir(a))          # 可迭代的
for el in a:
    print(el)

结果:
True
(甜蜜蜜, 邓丽君, 2000)
(往事只能回味, 韩宝仪, 3000)
(难忘今宵, 李谷一, 5)
(分红的回忆, 王宝强, 120)
(十年, 陈奕迅, 50000)
      .fiter:过滤
      .map:会根据提供的函数对指定序列做映射(lamda)
 

 三 . 作用域相关

      .locals:函数会以字典的类型返回当前位置的全部的局部变量

      .globals:函数以字典的类型返回全部的全局变量

 

 

 

 
      
 

 

python-的--内置函数'们'

标签:函数   lis   计算   科学计数法   dir   bcd   zip   不一致   abs   

原文地址:https://www.cnblogs.com/zmc940317/p/9476204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!