1. 程式人生 > >day17 python 常見的內置函數

day17 python 常見的內置函數

所有 map ted 函數功能 single 包含 解釋 pytho 數據類型

.把任意數值轉化為字符串有兩種方法。

(1)str()用於將數值轉化為易於人讀的形式。print(str("我是中國人"))>>>我是中國人

(2)repr()用於將數值轉化為易於解釋器讀的形式輸出的是字符串的官方標準。str出來的值是給人看的字符串,repr出來的值是給機器看的,括號中的任何內容出來後都是在它之上再加上一層引號。
print(repr("我是中國人"))>>>"我是中國人" 。Python中出現的任何中文,雖然我們在編輯器裏看到的是中文,但是背地裏全是一串編碼。千萬不要輕易信任print!print xx給你顯示出來的,
其實並不是xx的真實面貌!

.內建函數:

list(iterable)把可叠代對象轉換成列表

tuple(iterable)把可叠代對象轉換成元組

str(obj)把對象轉化為字符串(對象的字符串表示法)


zip()拉鏈函數:函數用於將可叠代的對象作為參數,將對象中對應的元素打包成一個個的元組,然後返回由這些元組組成的叠代器。

如果各個叠代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組叠代器。

l1=[1,2,3]
l2
=[4,5,8,3] print(list(zip(l1,l2))) print(*(zip(l1,l2))) 結果: [(1, 4), (2, 5), (3, 8)] (1, 4), (2, 5), (3, 8)


.數據函數:

divmod()函數: 函數把除數和余數運算結果結合起來,返回一個包含商和余數的元組(a // b, a % b)。
print(divmod(3,2))
結果:

(1, 1)
min()函數:

min(iterable, *[, key, default])

min(arg1, arg2, *args[, key])

函數功能為取傳入的多個參數中的最小值,或者傳入的可叠代對象元素中的最小值。默認數值型參數,取值小者;字符型參數,取字母表排序靠前者。還可以傳入命名參數key,其為一個函數,用來指定取最小值的方法。default命名參數用來指定最小值不存在時返回的默認值。功能與max函數相反。

print(min(26,7,8,9))
結果
同類型之間可以進行比較

print(min([1,2],[1,3]))
[1, 2]
key參數的另外一個作用是,不同類型對象本來不能比較取最小值的,傳入適當的key函數,變得可以比較能取最小值了。

print(min(1,2,‘3‘,key = int))
結果:

1

callable()

#判斷是否可調用的

a=s
def func():
    print(a)
print(callable(a))#不可調用   False
print(callable(print))#可以調用  True
print(callable(func))#可以調用  True

#ctrl + 左鍵單擊 :pycharm
#help:包含所有方法名以及他的使用方法 —— 不知道用法
#dir:只包含方法名 —— 想查看某方法是否在這個數據類型中


# f = open(‘文件名‘,‘w‘,encoding=‘utf-8‘)
#打開模式:r、w、a、rb、wb,ab 文件的操作最好不要用 帶+ 號的操作方法, 就是不要同時讀寫,這樣會容易造成光標混亂


#編碼 utf-8/GBK

哈希  
# print(id(1))
# print(id(2))
# print(hash(‘sajghfj;eyrwodnvjnz,.jifupwk‘))  #算法
# print(hash(125342))
# print(hash((1,2,3,4)))

#數據的存儲和查找
#模塊:hashlib
# {‘k‘:‘v‘}
# [1,2,3,4,5,6,]

# hash([1,2,3,4,5,6,])
#hash 判斷一個數據類型是否可以hash
#在一個程序執行的過程中,對同一個值hash的結果總是不變
#多次執行,對同一個值的hash結果可能改變

print的用法

def print(self, *args, sep=‘ ‘, end=‘\n‘, file=None)
end=‘\n‘  這裏用戶不設置的話會默認為打印完成後回車下一行
sep=‘ ‘  在值之間插入字符串,默認空格
#打印進度條
import time
for i in range(0,101,2):

    mun=i//2  #要打印的星號的數量  # \r 默認表示將輸出的內容返回到第一個指針,這樣的話,後面的內容會覆蓋前面的內容
    to_print =\r%s%%:%s\n%(i,**mun) if i==100 else \r%s%%:%s%(i,**mun)#這裏當i=100時 \n  才換行   #還有這句話的用法  記住
    print(to_print,sep=--,end=‘‘,flush=True)# 這裏end  要設置成“”否則打印一行,會換行一次
    time.sleep(0.2)
# print(1,2,3,4,5,sep=‘*‘)  #sep是指定多個要打印的內容之間的分隔符
li=[1,2,3,5]
print(li,sep=‘//‘)
print(1,2,3,4,sep=‘*‘)
print(‘aa‘,‘bb‘,sep=‘122‘)
#打印的結果
# [1, 2, 3, 5]
# 1*2*3*4
# aa122bb

#簡單求值表達式用eval
# code2 = ‘1 + 2 + 3 + 4‘
# compile2 = compile(code2,‘‘,‘eval‘)
# print(eval(compile2))

# code3 = ‘name = input("please input your name:")‘
# compile3 = compile(code3,‘‘,‘single‘)
# # name #執行前name變量不存在
# exec(compile3)
# print(name)

#exec
#eval
#compile

常見的帶key的內置函數

min max sort sorted map filter

day17 python 常見的內置函數