python学习 day013打卡 内置函数
本節主要內容:
內置函數:
內置函數就是python給你提供的.拿來直接用的函數,比如print,input等等.截止到python版本3.6.2 python一共提供了68個內置函數.他們就是python
直接提供給我們的.有一些我們已經用過了.有一些還沒有用過.還有一些還沒有用過.還有一些需要學完了面向對象才能繼續學習的.今天我們就認識
一下python的內置函數.
https://www.processon.com/mindmap/5bdbfc4be4b0cc9e7ea65a49中的思維導圖是關于內置函數的分類和使用方法的介紹
下面詳細介紹一些之前沒有用到過的內置函數:
一.字符串類型代碼的執行:
eval()? 執行字符串類型的代碼.并返回最終結果
print(eval("2+2")) #4 n = 8 print(eval("2+n")) #10def func():print(666) eval("func()") #666?exec()? 執行字符串類型的代碼
exec(""" for i in range(10):print(i) """) exec(""" def func():print("我是周杰倫") func() """)?
compile()將字符串類型的代碼編譯,代碼對象能夠通過exec語句來執行或者eval()進行求值
""" 參數說明: 1.resource 要執行的代碼,動態代碼片段 2.文件名,代碼存放的文件名,當傳入了第一個參數的時候,這個參數給空就可以了 3.模式,取值有3個,1.exce: 一般放一些流程語句的時候2.eval:resource只存放一個求值表達式3.single:resource存放的代碼有交互的時候,mode應為single. """ code1 = "for i in range(10) : print(i)" c1 = compile(code1,"",mode="exec") exec(c1)code2 = "1+2+3" c2 = compile(code2,"",mode="eval") a = eval(c2) print(a)code3 = "name = input('請輸入你的名字')" c3 = compile(code3,"",mode="single") exec(c3) print(name)?
有返回值的字符串形式的代碼用eval().沒有返回值的字符串形式的代碼用exec().一般很少用到compile()
二.slice()? 列表的切片
st = "大家好,我是麻花藤" s = slice(1,5,2) print(st[s])?三.字符串相關:
format()? ? 與具體數據相關,用于計算各種小數,精算等
字符串 print(format('test', '<20')) # 左對? cener(20) print(format('test', '>20')) # 右對? print(format('test', '^20')) # 居中# 數值 print(format(3, 'b')) # ?進制 11 print(format(97, 'c')) # 轉換成unicode字符 a print(format(11, 'd')) # ?進制 11 print(format(11, 'o')) # ?進制 13 print(format(11, 'x')) # ?六進制(?寫字?) b print(format(11, 'X')) # ?六進制(?寫字?) B print(format(11, 'n')) # 和d?樣 11 print(format(11)) # 和d?樣 11 # 浮點數 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 無窮?
bytes()把字符串轉化成bytes類型
s = "你好" bs = s.encode("utf-8") print(bs) s1 = bs.decode("utf-8") print(s1)bs = bytes(s,encoding="utf-8") #把字符串編碼成utf-8 print(bs)?
bytearray()? 返回一個新字節數組,這個數組里的元素是可變的,并且每個元素的值的范圍是[0,256)
ret = bytearray("alex",encoding="utf-8") print(ret[0]) print(ret)?
memoryview()? 查看bytes在內存中的情況
s = memoryview("麻花藤".encode("utf-8")) # 查看bytes字節在內存中的情況 print(s)?
repr()? ?返回一個對象的官方表示形式
# repr 輸出一個字符串的官方表示形式print(repr("大家好,\n \t我叫周杰倫"))
print("大家好我叫周杰倫")
# 結果 :
# '大家好,\n \t我叫周杰倫'
# 大家好我叫周杰倫
# %r %r用的就是repr
name = "taibai"
print("我叫%r" %name)
# 結果:我叫'taibai'
?enumerate() 獲取集合的枚舉對象
lst = ["alex","wusir","taibai"] for index,el in enumerate(lst):print(str(index)+"==>"+el) # 結果: # 0==>alex # 1==>wusir # 2==>taibaiall()? ? ? 可迭代對象中全部是True, 結果才是True? ? ? ?
any()? ? 可迭代對象中有一個是True, 結果就是True?
print(all([1,2,True,0])) #False print(any([1,"",0]))#Truezip()? 函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表.如果各個
迭代器的元素個數不一致,則返回列表長度與最短的對象相同.
l1 = [1,2,3] l2 = ["a","b","c",5] l3 = ("*","**",(1,2,3)) for i in zip(l1,l2,l3):print(i) # 結果: # (1, 'a', '*') # (2, 'b', '**') # (3, 'c', (1, 2, 3))?
.
?
轉載于:https://www.cnblogs.com/af1y/p/9898316.html
總結
以上是生活随笔為你收集整理的python学习 day013打卡 内置函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海国际能源交易中心大户持仓报告制度 操
- 下一篇: 学习笔记(1):PR快速入门-认识界面