#Author:lei
print(all([0,-5])) #all 所有爲真,才爲真 0位非真
print(any([0,-5])) #any 任意一個爲真,就爲真,全部假,才爲假 空也爲假
print(ascii([1,2,"你好"])) #字符串 以ascii編碼來顯示 基本沒什麼用
print(bin(255)) #bin 十進制轉二進值
print(bool(1)) #布爾值 0爲假 1爲真 空爲假
a = bytes("abcde",encoding="utf-8")
b = bytearray("abcfgh",encoding="utf-8")
print(b[0]) #ascii碼的位置 第一個a對應97位置
b[1]=97 #第二個字母改成97對應a
print(b) #aacfgh bytearray變成可需改的字符串 通過更改ascii位置修改
print(a.capitalize(),a)
def syahi():pass
print(callable(syahi)) #callable判斷是否可以調用 函數是可以調用的
print(chr(97)) #把數字返回成ascii編碼對應的字母 編號97對應a
print(ord('a')) #把字母轉成ascii編號 與chr作用相反
code = "for i in range(10):print(i)" #code是字符串
compile(code,'','exec') #中間''是日誌記錄文件名
exec(code) #exec執行
cal = "1 + 5/2 *6"
print(eval(cal)) #eval計算 字符串變成字典
print((dir(cal))) #dir 查看使用的方法有哪些 有兩個_線表示不能用,next除外
#print(divmod(5,2)) #divmod 相除得到商和餘數
def sayhi(n):
print(n)
sayhi(5)
(lambda n:print(n))(5) #匿名函數:使用一次就刪除 傳的參數爲5
calc = lambda n:print(n) #一般函數使用多次,使用一次的函數都用匿名函數
calc(5)
calc = lambda n:3 if n<6 else n #lambda支持三目運算 如果傳的n值小於6輸出就爲3,否者就爲n
print(calc(5))
res = filter(lambda n:n>5 , range(10)) #filter過濾
for i in res:
print(i)
res = map(lambda n:n*2,range(10)) #[i*2 for i in range(10)]
for i in res: #map相當於列表生成式 用在lamda匿名函數裏
print(i)
print(res)
import functools
res=functools.reduce(lambda x,y:x+y,range(10)) #0~9累加
print(res) #reduce在functools標準庫裏 ,累計運算的意思
a = frozenset([1,2,3,4,5,5,6,7,8]) #frozenset不可變集合
print(globals()) #globals() 找出本程序所有的全局變量 以key:values的格式
#變量名是key 變量值是values
#print(hash('alex')) 對應的一個hash值
print(hex(255)) #hex()把一個數字轉成16進制
def test():
local_var=333
print(locals()) #locals()獲取局部變量 基本用不上
test()
print(globals().get('local_var')) #get()找出內容
#next() 相當於迭代器的__next__()
import os
print(os.path.abspath(__file__)) #本程序文件的絕對路徑
print(os.path.dirname(os.path.abspath(__file__))) #返回本程序路徑不要文件名
print(os.path.dirname((os.path.dirname(os.path.abspath(__file__)))))#返回本程序路徑的上一級
BASE_DIR=os.path.dirname((os.path.dirname(os.path.abspath(__file__))))
print(BASE_DIR)