coding:utf-8
內建函式操作
!usr/bin/env python
1.locals()和globals()
def func():
x=1y=2
print(locals())
print(globals())
func()
2.eval, exec 和 compile
print(123)
"print(456)"#字串
eval("print(456)")#吧字串轉換成python**去執行(有返回值)
exec("print(789)")#吧字串轉換成python**去執行(無返回值)
num = eval('4+5+6')#執行了,有返回值
print(num)
num = exec('4+5+6')#執行了,沒有返回值
print(num)
# compile#做編譯
com=compile('1+2+3','',mode = 'eval')#節省時間
print(eval(com))
print(eval('1+2+3'))#這句效果和上面的compile()效果一樣
3.print
print('123',end='')#不換行
print('456',end='')
print(1,2,3)
print(1,2,3,4,5,6,sep=',')
print()函式的小例子
import time
import sys
for i in range(0,101,2):
time.sleep(0.1)
char_num = i//2 #列印多少個#
per_str = '\r%s%% : %s' % (i, '*' * char_num)
print(per_str,end='', file=sys.stdout, flush=true)
import sys
for i in range(0, 101, 4):
time.sleep(0.1)
char_num = i // 2
per_str = '\r%s%% : %s' % (i, '*' * char_num)
print(per_str, file=sys.stdout, flush=true)
4.input()
5.type()
6.hash
print(hash('asdsffd'))#一開始幾個都是不變的,,然後重新執行一次就變了
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash('asdsffd'))
print(hash((1,2,3,4)))
7.open
r,w,a,r+,w+,a+(都可以加b)
f=open('tmp','r+')#r+開啟檔案
print(f.read(3))#如果讀了在寫,追加
f.seek(5)#如果seek指定了游標的位置,就從該位置開始覆蓋這寫
f.write('aaaaaa')#如果直接寫,從頭覆蓋
f.close()
8.__import__()
import os
import sys
import time
# 9.callable:檢視能不能呼叫
print(callable(123))#數字不能呼叫結果就是false
print(callable(open))#函式可以呼叫就返回true
10.dir 檢視資料型別的方法
print(dir(__builtins__))#看著報錯,,但其實不報錯
print(dir(int))
print(dir(list))
print(dir(0))#和int一樣
print(set(dir(list))-set(dir(tuple)))
11.num
num1=int(123)
num2=int(12.3)#強制轉換成int型別
print(num1,num2)
12.取商/餘
print(divmod(7,3))
13.計算最小值
print(min(1,2,3,4))
print(min([5,6]))
13.計算最大值
print(max(1,2,3,4))
print(max([5,6]))
14.sum求和
print(sum(1,2,3,4))#出錯了,引數是序列,雜湊不行
print(sum([5,6]))
print(sum((1,2,3,4)))
以下的兩個方式是一樣的
print(1+2)
print(int(1).__add__(2))
15.round精確度
print(round(3.1415926,2))#保留兩位
16.pow()冪運算
print(pow(2,3))
print(2**3)
17.和資料結構相關的
1.reversed()順序的反轉
l=[1,2,3,4]
print(list(reversed(l)))#是生成了乙個新的列表,沒有改變原來的列表(以後能不用reversed就不用reversed,用reverse)
# l.reverse()#在現在的列表的基礎上修改了,修改的是原來的列表
print(l)
2.slice切片
3.format()#除了格式化以外的作業
print(format('test','<20'))
print(format('test','>40'))
print(format('test','^40'))
4.bytes
s='你好'
sb=bytes(s,encoding='utf-8')
print(sb)
print(sb.decode('utf-8'))
sb2=bytearray(s,encoding='utf-8')
sb2[0]=229 #修改 了解就好
print(sb2.decode('utf-8'))
print(sb2)
print(sb2[0])
5.repr
print(repr('1234'))
print(repr(1234))
print('name:%r'%('egon'))#你怎麼傳進去的就按什麼格式列印出來了
6.set和frozenset(不可變的集合)就像list和tuple
7.enumerate
l=['a','b']
for i in enumerate(l):
print(i)
for i ,j in enumerate(l):
print(i,j)
8.all和any
print(all([1,2,3]))
print(all([0,2,3]))#因為0是false
print(any([1,2,3]))
print(any([0,2,3]))
9.zip()
l=[1,2,3]
l2=[4,5,6,7,8]
print(zip(l,l2))
print(list(zip(l,l2)))
l3=print(list(zip(l,l3)))
10.sort和sorted
l=[1,3,5,-2,-6]
l.sort()
print(l)
l2=[1,3,5,-2,-6]
print(sorted(l2))
print(sorted(l2,key=abs))
print(sorted(l2,key=abs,reverse=true))#預設從小到大排序,修改為true,則從大到小排序
11.map():我要對我的列表當中的每乙個值去做函式裡面的操作
l=[1,2,3,4,5]
def pow2(x):
return x*x
print(list(map(pow2,l)))
12.filter():從乙個列表當中找到所有符合篩選條件的,在組成乙個新列表
def aaa(x):
return x%2==1
ret=list(filter(aaa,[1,2,54,3,6,8,17,9]))
print(ret)
python重寫內建函式 python 內建函式
說明 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。語法 zip iterable1,iterable2,引數 iterable 乙個或多...
python內建函式簡稱 Python內建函式詳解
此文參考python文件,然後結合自己的理解,寫下來,一方面方便自己,讓自己好好學習,順便回憶回憶 另一方面,讓喜歡的盆友也參考一下。經查詢,3.6版本總共有68個內建函式,主要分類如下 數 算 7個 型別轉換 24個 序列操作 8個 物件操作 9個 反射操作 8個 變數操作 2個 互動操作 2個 ...
python內建函式使用 python內建函式使用
eval函式執行python表示式,有返回值 eval 1 2 3 4 5 exec函式執行的是python語句,沒有返回值 exec print 123 將字串型別的 編碼.物件能夠通過exec語句來執行或者eval 進行求值,c只是編譯,不執行 code for i in range 10 pr...