Python解釋器內(nèi)置了許多函數(shù),這意味著我們無需定義,始終可以它們。下面按照函數(shù)的字母順序,討論一些常用的內(nèi)建函數(shù)。
成都創(chuàng)新互聯(lián)主要為客戶提供服務項目涵蓋了網(wǎng)頁視覺設計、VI標志設計、營銷網(wǎng)站、網(wǎng)站程序開發(fā)、HTML5響應式網(wǎng)站建設公司、成都做手機網(wǎng)站、微商城、網(wǎng)站托管及網(wǎng)站建設維護、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務器租用、視頻、平面設計、SEO優(yōu)化排名。設計、前端、后端三個建站步驟的完善服務體系。一人跟蹤測試的建站服務標準。已經(jīng)為成都石牌坊行業(yè)客戶提供了網(wǎng)站開發(fā)服務。
eval()
eval()函數(shù)解析傳給它的表達式,并在程序中運行Python表達式(代碼)。舉個例子:
x?=?1
eval("x?+?1")??#?注意:"x?+?1"是字符串
2
eval("4??9")
True
eval("'py'?*?3")
'pypypy'
eval("10?**?2")
100
eval()函數(shù)不僅僅能運行簡單表達式,還能調(diào)用函數(shù),使用方法等等:
eval("abs(-11)")????????#?計算-11的絕對值
11
eval('"hello".upper()')???#?把字符串'hello'全變成大寫字母
'HELLO'
import?os
eval('os.getcwd()')???????#?獲取當前的工作目錄
'/home/thepythonguru'
但是需要注意的是eval()僅適用于表達式,嘗試傳遞語句會導致語法錯誤:
eval('a?=?1')????????????????????#?賦值語句
Traceback?(most?recent?call?last):
File?"",?line?1,?in
File?"",?line?1
a?=?1
^
SyntaxError:?invalid?syntax
eval('import?re')?????????????#?導入語句
Traceback?(most?recent?call?last):
File?"",?line?1,?in
File?"",?line?1
import?re
^
SyntaxError:?invalid?syntax
此外,使用eval()語句應該十分小心,永遠不要將不受信任的源直接傳遞給eval()。 因為惡意用戶很容易對您的系統(tǒng)造成破壞。 例如:
eval(input())??#?eval()將執(zhí)行用戶輸入的代碼
用戶輸入以下代碼就能從系統(tǒng)中刪除所有文件:
os.system("RM?-RF?/")
#?上面輸入相當于執(zhí)行:
eval('os.system("RM?-RF?/")')
filter()
"filter"的意思是“過濾”,filter()函數(shù)需要兩個參數(shù):一個函數(shù)對象和一個可迭代對象。函數(shù)對象需要返回一個布爾值,并為可迭代的每個元素調(diào)用。 filter()函數(shù)僅返回那些通過函數(shù)對象返回值為true的元素。解釋有一些抽象,看一個例子:
a?=?[1,?2,?3,?4,?5,?6]
filter(lambda?x?:?x?%?2?==?0,?a)????????#?過濾出所有偶數(shù),結(jié)果返回一個filter對象
filter?object?at?0x1036dc048
list(filter(lambda?x?:?x?%?2?==?0,?a))??#?可以使用list()函數(shù)使fileter對象變成列表,方便查看結(jié)果
[2,?4,?6]
下面是另外一個例子:
dict_a?=?[{'name':?'python',?'points':?10},?{'name':?'java',?'points':?8}]
filter(lambda?x?:?x['name']?==?'python',?dict_a)??#?過濾出列表中鍵'name'為值'python'的字典
filter?object?at?0x1036de128
tuple(filter(lambda?x?:?x['name']?==?'python',?dict_a))??#?使用tuple()函數(shù)使結(jié)果變成字典
({'name':?'python',?'points':?10},)
float()
float()的參數(shù)是一個數(shù)字或者字符串,它返回一個浮點數(shù)。如果參數(shù)是字符串,則字符串中應該包含一個數(shù)字,并可以在數(shù)字前加入一個 '-' 符號,代表負數(shù)。參數(shù)也可以是表示NaN(非數(shù)字)或正無窮大的字符串。如果沒有任何參數(shù)的話,將返回0.0。
float('+1.23')?????????#?1.23
1.23
float('???-12345\n')???#?-12345
-12345.0
float('1e-003')????????#?0.001
0.001
float('+1E6')??????????#?10的6次冪
1000000.0
float('-Infinity')?????#?無窮小
-inf
float('-inf')?+?100?????#?負無窮小加100仍等于負無窮小
-inf
float('inf')???????????#?無窮大
inf
float('NaN')???????????#?NaN,代表非數(shù)字
nan
關于Python的基礎問題可以看下這個網(wǎng)頁的視頻教程,網(wǎng)頁鏈接,希望我的回答能幫到你。
如果你指的是函數(shù)的參數(shù)值為True,那么和函數(shù)值返回True并無區(qū)別,因為都是Python基礎數(shù)據(jù)類型,布爾類型。函數(shù)本身不能使用布爾類型表示。
數(shù)學相關
abs(a) : 求取絕對值。abs(-1)
max(list) : 求取list最大值。max([1,2,3])
min(list) : 求取list最小值。min([1,2,3])
sum(list) : 求取list元素的和。 sum([1,2,3]) 6
sorted(list) : 排序,返回排序后的list。
len(list) : list長度,len([1,2,3])
divmod(a,b): 獲取商和余數(shù)。 divmod(5,2) (2,1)
pow(a,b) : 獲取乘方數(shù)。pow(2,3) 8
round(a,b) : 獲取指定位數(shù)的小數(shù)。a代表浮點數(shù),b代表要保留的位數(shù)。round(3.1415926,2) 3.14
range(a[,b]) : 生成一個a到b的數(shù)組,左閉右開。range(1,10) [1,2,3,4,5,6,7,8,9]
類型轉(zhuǎn)換
int(str) : 轉(zhuǎn)換為int型。int('1') 1
float(int/str) : 將int型或字符型轉(zhuǎn)換為浮點型。float('1') 1.0
str(int) : 轉(zhuǎn)換為字符型。str(1) '1'
bool(int) : 轉(zhuǎn)換為布爾類型。 str(0) False str(None) False
bytes(str,code) : 接收一個字符串,與所要編碼的格式,返回一個字節(jié)流類型。bytes('abc', 'utf-8') b'abc' bytes(u'爬蟲', 'utf-8') b'xe7x88xacxe8x99xab'
list(iterable) : 轉(zhuǎn)換為list。 list((1,2,3)) [1,2,3]
iter(iterable): 返回一個可迭代的對象。 iter([1,2,3]) list_iterator object at 0x0000000003813B00
dict(iterable) : 轉(zhuǎn)換為dict。 dict([('a', 1), ('b', 2), ('c', 3)]) {'a':1, 'b':2, 'c':3}
enumerate(iterable) : 返回一個枚舉對象。
tuple(iterable) : 轉(zhuǎn)換為tuple。 tuple([1,2,3]) (1,2,3)
set(iterable) : 轉(zhuǎn)換為set。 set([1,4,2,4,3,5]) {1,2,3,4,5} set({1:'a',2:'b',3:'c'}) {1,2,3}
hex(int) : 轉(zhuǎn)換為16進制。hex(1024) '0x400'
oct(int) : 轉(zhuǎn)換為8進制。 oct(1024) '0o2000'
bin(int) : 轉(zhuǎn)換為2進制。 bin(1024) '0b10000000000'
chr(int) : 轉(zhuǎn)換數(shù)字為相應ASCI碼字符。 chr(65) 'A'
ord(str) : 轉(zhuǎn)換ASCI字符為相應的數(shù)字。 ord('A') 65
相關操作
eval****() : 執(zhí)行一個表達式,或字符串作為運算。 eval('1+1') 2
exec() : 執(zhí)行python語句。 exec('print("Python")') Python
filter(func, iterable) : 通過判斷函數(shù)fun,篩選符合條件的元素。 filter(lambda x: x3, [1,2,3,4,5,6]) filter object at 0x0000000003813828
map(func, *iterable) : 將func用于每個iterable對象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) [6,8,10]
zip(*iterable) : 將iterable分組合并。返回一個zip對象。 list(zip([1,2,3],[4,5,6])) [(1, 4), (2, 5), (3, 6)]
type():返回一個對象的類型。
id(): 返回一個對象的唯一標識值。
hash(object):返回一個對象的hash值,具有相同值的object具有相同的hash值。 hash('python') 7070808359261009780
help():調(diào)用系統(tǒng)內(nèi)置的幫助系統(tǒng)。
isinstance():判斷一個對象是否為該類的一個實例。
issubclass():判斷一個類是否為另一個類的子類。
globals() : 返回當前全局變量的字典。
next(iterator[, default]) : 接收一個迭代器,返回迭代器中的數(shù)值,如果設置了default,則當?shù)髦械脑乇闅v后,輸出default內(nèi)容。
reversed(sequence) : 生成一個反轉(zhuǎn)序列的迭代器。 reversed('abc') ['c','b','a']
當前標題:python布爾函數(shù) python中布爾值bool怎么用
文章URL:http://jinyejixie.com/article22/doseccc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、網(wǎng)站設計公司、域名注冊、ChatGPT、營銷型網(wǎng)站建設、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)