程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> python內置函數

python內置函數

編輯:Python

吾之最愛(你在和影子玩拳擊嗎?)

常用Python內置函數

 

1、isinstance  判斷變量的數據類型

 

temp = "asdfsdfs"  
  
r = isinstance(temp, list)  
  
print(r)  
案例:

 

2、

python函數傳參的時候是傳引用 ----新浪面試題

java,c#等是在ref out在內存中在創建一份值

3、lambda用法:

 

def f1():  
  
    return 123  
  
f2 = lambda :123  
  
r1 = f1()  
  
r2 = f2()  
  
print(r1,r2) 
案例:
def f3(a1,a2):  
  
    return a1 + a2  
  
f4 = lambda a1,a2: a1 + a2  
  
r3 = f3(1,2)  
  
r4 = f4(3,4)  
  
print(r3,r4) 
方法2:

1、abs--取絕對值

i = abs(123)  
  
print(i)  
  
i = abs(-123)  
  
print(123)  
案例:

2、all 循環參數,如果每個元素都為真,那麼all的返回值都為真

由於判斷真的太多,所以判斷假的就可以了  
  
i =all(["",(),{},0,None,"123",])  
  
print(i)  
  
結果:False  
案例:

3、any  只要有一個為真,則為真

i =any(["",None,(),{},123])  
  
print(i)  
  
結果:False
案例:

4、

bin()  # 二進制  
  
oct()  #八進制  
  
int()   #十進制  
  
hex()  #十六進制  
i = int('0b11',base=2)  
  
print(i)  
  
i = int('11',base=8)  
  
print(i)  
  
i = int('0xe',base=1t6)  
  
print(i)  
案例:

5、chr 和 ord和bytes

首先字符串轉字節  
  
bytes("xxxx",encoding="utf-8")  
  
其次  
  
c = chr(65)  返回數值表達式值為編碼的字符  
  
print(c)  
  
在其次  
  
                  ---將ASCLL碼值轉換為字符  
  
d = ord("a")  ---必須是字符串才可以  
  
print(d)  
案例

6、callable檢查對象object是否可以調用

f1 = 123  
  
r = callable(f1)  
案例

7、dir  查看類型的幫助文檔方式

help()效果一樣  
  
li = []  
  
print(dir(li))
案例

8、divmod  除商得余數---例如分頁

a = 10 / 3  
  
print(a)  
  
r = divmod(10,3)  
  
print(r)  
  
結果:  
  
3.33333335  
  
(3,1)  
案例:

9、eval  -----強制不轉換輸入類型的格式

ret = eval("1 + 3")  
  
print(ret)  
  
結果:4 
案例

10、exec ----執行py代碼---沒有返回值敲打

exec("for i inrange(10): print(i)")  
  
結果:  
  
0  
  
1  
  
2  
  
3  
  
4......  
案例

 11、filter (過濾)

def f1(x):  
  
    if x > 22:  
  
       return True  
  
    else:  
  
       return False  
  
    ---------------  
  
    return x > 22 -----------第二種簡寫方法  
  
ret = filter(f1,[11,22,33,44])  
案例一
ret = filter(lambda x: x >22, [11,22,33,44])  
  
for i in ret:  
  
    print(i) 
lambda寫法

12、map  無論是map還是filter,得到的結果都是可迭代的對象,迭代器的實例

def f1(x):  
  
    if x % 2 == 1:  
  
       return x + 100  
  
    else:  
  
       return x  
  
ret = map(f1, [1,2,3,4,5])  
  
ret2 = map(lambda x: x + 100if x % 2 == 1 else x ,[1,2,3,4,5])  
  
print(ret)  
  
for i in ret :  
  
    print(i)  
案例一
def comp(y):  
  
    c = y > 11  
  
    return c  
  
ret1 = map(comp, [1,2,4,11,22, 33])  
  
for i in ret1:  
  
    print(i)  
filter和map區別
# ret2 =filter(comp,[1,2,4,11, 22, 33])  
  
# for i in ret2:  
  
#     print(i)  
filter

13、max()最大數 min()  最小數

li = [11,22,123,1]  
  
r = max(li)  
  
print(r)  
  
a = min(li)  
  
print(a) 
案例

14、iter 迭代器  next輸出迭代器的下一個元素

obj =iter([11,22,33,44])   創建迭代器對象  
  
print(obj)  
  
r1 = next(obj)   輸入迭代器的下一個元素  
  
print(r1)  
  
r2 = next(obj)  
  
print(r2)  
案例

15、pow(x,y) ----就是求x的y次方

i = pow(2,100)  
  
print(i)  
案例

16、zip ---意思就是取兩個變量中索引相對應的值,,個人理解

li1 = [11,22,33,44]  
  
li2 =["a",'VV',"c","E"]  
  
r = zip(li1,li2)  
  
print(r)  
  
for i in r :  
  
    print(i) 
案例

17、globals  locals

聲明全局變量和局部變量

a = 1  
  
def f(x):  
  
    global a  
  
    a = 2  
  
    c = x + a  
  
    print(c)  
  
f(3)  
  
print(a) 
案例

18、round用法---返回浮點數x的四捨五入值

round(80.2332434, 2)  
  
結果:80.23  
案例

19、open函數的應用

(1).def close(self,*args,**kwargs)關閉文件

(2).def fileno(self,*args,**kwargs) 文件描述符

(3).def flush(self,*args,**kwargs) 刷新文件內部緩沖區(就是可以寫入磁盤)

f = open("ha1.log",'w')  
  
f.write(bytes("不穿",encoding:utf-8))  
  
f.flush()  先注銷這句,然後知行,用下面代碼查看,然後再     
  
input("adf:")   用這句上flush這句在看,  
View Code
with open("ha1.log",'r') as f:  
  
    a = f.read()  
  
    print(a)  
常用方式-我最喜歡的方式

(4).def isatty(self,*args,**kwargs) 判斷文件是否是同意tty設備

(5)def read(self,*args,**kwargs)讀取指定字節數據

(6)def readable(self,*args,**kwargs)是否可讀

with open("ha1.log",'r') as f:  
  
    a = f.readable()  
  
    print(a)  

(7)def readline(self,*args,**kwargs)僅讀取一行數據

with  open("ha1.log",'r',encoding="utf-8") as f:  ----注意這個地方要寫字符集編碼  
  
    f.seek(0)  
  
    a = f.readline()  
  
    print(a)  

(8)def seek(self,*args,**kwargs)指定文件中指針位置

(9)def seekable(self,*args,**kwargs)指針是否可操作

(10)def tell(self,*args,**kwargs)獲取指針位置

(11)def truncate(self,*args,**kwargs)截取數據,進保留之前數據(3.5以後會先保存在內存中,2.7則會刪除)

line = fo.readline()  
  
print ("Read Line:%s" % (line))  
  
print(fo.tell())  
  
   
  
# Now truncate remainingfile.  
  
fo.truncate(8)  
  
fo1 =open("foo.txt", "w")  
  
   
  
line = fo.readlines()  
  
print(fo.tell())  
  
print ("Read Line:%s" % (line))  

(12)def writable(self,*args,**kwargs)是否可寫

(13)def write(self,*args,**kwargs)寫內容

20、open---打開,關閉,close

(1)、只讀,r
f = open("路徑文件","r")  
  
f.write("asdfasdf")  
  
f.close()
案例

(2)、w只寫模式【不可讀;文件不存在則創建;存在則清空內容】

f =open("ha1.log",'a')  
  
a1 = f.tell()  ---查看指針位置  
  
print(a1)  
  
f.write("nini")  ----如果文件存在清空後出現”nini“  
  
   
  
a = f.tell()----在查看指針  
  
print(a)  
  
f.seek(0)  
  
#c = f.read()  ----不可讀  
  
#print(c)  
  
f.close()  -----------關閉  
  
#print(c)  
案例

(3)、x 不可讀,不存在則創建,存在則報錯

f =open("ha3.log",'x')  
  
a1 = f.tell()  
  
print(a1)  
  
f.write("nini")  
  
   
  
a = f.tell()  
  
print(a)  
  
f.seek(0)  
  
#c = f.read()  ---=不可讀  
  
   
  
#print(c)  
  
f.close()  
案例

(4)、a 不可讀,不存在則創建,存在則只追加

f =open("ha3.log",'a')  
  
a1 = f.tell()  
  
print(a1)  
  
f.write("cccc")-----上面已經寫入了"nini " ,存在則只追加內容  
  
a = f.tell()  
  
print(a)  
  
f.seek(0)  
  
#c = f.read()  
  
#print(c)  
  
f.close() 
案例

 

 

(1)、r+ 如果文件不存在無法自動創建寫入,而且主意字節轉換
f =open("ha3.log",'r+',encoding="utf-8")   --------注意文件和編碼  
  
a1 = f.tell()  
  
print(a1)  
  
f.read()  
  
# print(a2)  
  
a3 = f.tell()  
  
print(a3)  
  
f.write("我吃了午飯")  
  
   
  
a = f.tell()  
  
print(a)  
  
#f.seek(0)  
  
#c = f.read()  
  
   
  
#print(c)  
  
f.close()  
案例

(2)、w+ ,如果文件存在則清空,如果不存在則創建

f =open("ha3.log",'w+',encoding="utf-8")  
  
a1 = f.tell()  
  
print(a1)  
  
f.read()  
  
# print(a2)  
  
a3 = f.tell()  
  
print(a3)  
  
f.write("我沒吃午飯嗎?")  
  
   
  
a = f.tell()  
  
print(a)  
  
f.seek(0)  
  
c = f.read()  
  
   
  
#print(c)  
  
f.close()  
案例

(3)、x+  存在則報錯 ,就不測試了

(4)、a+  不存在則創建,存在則末尾追加

 

(1)、rb  現在自動轉換成了返回的二進制的值,用16進制表示
f =open("ha3.log",'rb')  
  
a1 = f.tell()  
  
print(a1)  
  
a = f.read()  
  
print(str(a,ending="utf-8")) ----------轉換的時候,需要str,然後再給參數。這是需要注意的地方  
  
a2 = f.tell()  
  
print(a2)  
  
f.close()  
案例-重點

(2)、wb 不可讀

f =open("ha3.log",'wb')  
  
a1 = f.tell()  
  
print(a1)  
  
f.write(bytes("啦啦啦啦",encoding="utf-8"))  
  
a2 = f.tell()  
  
print(a2)  
  
f.close()  
案例

(3)xb

(4)ab

 為了避免打開後忘了關閉,可以通過管理上下文,即:

with open("log",'r',encoding="utf-8) as f ,open("log2","w",encoding="utf-8") as f2:  
  
     for line in f1:  
  
            f2.write(line) 

在python2.7之後,with又支持同時對多個文件的上下文進行管理

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved