python布爾函數(shù) python中布爾值bool怎么用

Python中的eval()、filter()、float()函數(shù)有什么用?

Python解釋器內(nèi)置了許多函數(shù),這意味著我們無(wú)需定義,始終可以它們。下面按照函數(shù)的字母順序,討論一些常用的內(nèi)建函數(shù)。

成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營(yíng)銷(xiāo)網(wǎng)站、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)公司、成都做手機(jī)網(wǎng)站、微商城、網(wǎng)站托管及網(wǎng)站建設(shè)維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都石牌坊行業(yè)客戶提供了網(wǎng)站開(kāi)發(fā)服務(wù)。

eval()

eval()函數(shù)解析傳給它的表達(dá)式,并在程序中運(yùn)行Python表達(dá)式(代碼)。舉個(gè)例子:

x?=?1

eval("x?+?1")??#?注意:"x?+?1"是字符串

2

eval("4??9")

True

eval("'py'?*?3")

'pypypy'

eval("10?**?2")

100

eval()函數(shù)不僅僅能運(yùn)行簡(jiǎn)單表達(dá)式,還能調(diào)用函數(shù),使用方法等等:

eval("abs(-11)")????????#?計(jì)算-11的絕對(duì)值

11

eval('"hello".upper()')???#?把字符串'hello'全變成大寫(xiě)字母

'HELLO'

import?os

eval('os.getcwd()')???????#?獲取當(dāng)前的工作目錄

'/home/thepythonguru'

但是需要注意的是eval()僅適用于表達(dá)式,嘗試傳遞語(yǔ)句會(huì)導(dǎo)致語(yǔ)法錯(cuò)誤:

eval('a?=?1')????????????????????#?賦值語(yǔ)句

Traceback?(most?recent?call?last):

File?"",?line?1,?in

File?"",?line?1

a?=?1

^

SyntaxError:?invalid?syntax

eval('import?re')?????????????#?導(dǎo)入語(yǔ)句

Traceback?(most?recent?call?last):

File?"",?line?1,?in

File?"",?line?1

import?re

^

SyntaxError:?invalid?syntax

此外,使用eval()語(yǔ)句應(yīng)該十分小心,永遠(yuǎn)不要將不受信任的源直接傳遞給eval()。 因?yàn)閻阂庥脩艉苋菀讓?duì)您的系統(tǒng)造成破壞。 例如:

eval(input())??#?eval()將執(zhí)行用戶輸入的代碼

用戶輸入以下代碼就能從系統(tǒng)中刪除所有文件:

os.system("RM?-RF?/")

#?上面輸入相當(dāng)于執(zhí)行:

eval('os.system("RM?-RF?/")')

filter()

"filter"的意思是“過(guò)濾”,filter()函數(shù)需要兩個(gè)參數(shù):一個(gè)函數(shù)對(duì)象和一個(gè)可迭代對(duì)象。函數(shù)對(duì)象需要返回一個(gè)布爾值,并為可迭代的每個(gè)元素調(diào)用。 filter()函數(shù)僅返回那些通過(guò)函數(shù)對(duì)象返回值為true的元素。解釋有一些抽象,看一個(gè)例子:

a?=?[1,?2,?3,?4,?5,?6]

filter(lambda?x?:?x?%?2?==?0,?a)????????#?過(guò)濾出所有偶數(shù),結(jié)果返回一個(gè)filter對(duì)象

filter?object?at?0x1036dc048

list(filter(lambda?x?:?x?%?2?==?0,?a))??#?可以使用list()函數(shù)使fileter對(duì)象變成列表,方便查看結(jié)果

[2,?4,?6]

下面是另外一個(gè)例子:

dict_a?=?[{'name':?'python',?'points':?10},?{'name':?'java',?'points':?8}]

filter(lambda?x?:?x['name']?==?'python',?dict_a)??#?過(guò)濾出列表中鍵'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ù)是一個(gè)數(shù)字或者字符串,它返回一個(gè)浮點(diǎn)數(shù)。如果參數(shù)是字符串,則字符串中應(yīng)該包含一個(gè)數(shù)字,并可以在數(shù)字前加入一個(gè) '-' 符號(hào),代表負(fù)數(shù)。參數(shù)也可以是表示NaN(非數(shù)字)或正無(wú)窮大的字符串。如果沒(méi)有任何參數(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')?????#?無(wú)窮小

-inf

float('-inf')?+?100?????#?負(fù)無(wú)窮小加100仍等于負(fù)無(wú)窮小

-inf

float('inf')???????????#?無(wú)窮大

inf

float('NaN')???????????#?NaN,代表非數(shù)字

nan

關(guān)于Python的基礎(chǔ)問(wèn)題可以看下這個(gè)網(wǎng)頁(yè)的視頻教程,網(wǎng)頁(yè)鏈接,希望我的回答能幫到你。

Python中,函數(shù)值為ture和函數(shù)值返回ture有什么區(qū)別?

如果你指的是函數(shù)的參數(shù)值為T(mén)rue,那么和函數(shù)值返回True并無(wú)區(qū)別,因?yàn)槎际荘ython基礎(chǔ)數(shù)據(jù)類型,布爾類型。函數(shù)本身不能使用布爾類型表示。

太全了!Python3常用內(nèi)置函數(shù)總結(jié)

數(shù)學(xué)相關(guān)

abs(a) : 求取絕對(duì)值。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長(zhǎng)度,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代表浮點(diǎn)數(shù),b代表要保留的位數(shù)。round(3.1415926,2) 3.14

range(a[,b]) : 生成一個(gè)a到b的數(shù)組,左閉右開(kāi)。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)換為浮點(diǎ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) : 接收一個(gè)字符串,與所要編碼的格式,返回一個(gè)字節(jié)流類型。bytes('abc', 'utf-8') b'abc' bytes(u'爬蟲(chóng)', 'utf-8') b'xe7x88xacxe8x99xab'

list(iterable) : 轉(zhuǎn)換為list。 list((1,2,3)) [1,2,3]

iter(iterable): 返回一個(gè)可迭代的對(duì)象。 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) : 返回一個(gè)枚舉對(duì)象。

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進(jìn)制。hex(1024) '0x400'

oct(int) : 轉(zhuǎn)換為8進(jìn)制。 oct(1024) '0o2000'

bin(int) : 轉(zhuǎn)換為2進(jìn)制。 bin(1024) '0b10000000000'

chr(int) : 轉(zhuǎn)換數(shù)字為相應(yīng)ASCI碼字符。 chr(65) 'A'

ord(str) : 轉(zhuǎn)換ASCI字符為相應(yīng)的數(shù)字。 ord('A') 65

相關(guān)操作

eval****() : 執(zhí)行一個(gè)表達(dá)式,或字符串作為運(yùn)算。 eval('1+1') 2

exec() : 執(zhí)行python語(yǔ)句。 exec('print("Python")') Python

filter(func, iterable) : 通過(guò)判斷函數(shù)fun,篩選符合條件的元素。 filter(lambda x: x3, [1,2,3,4,5,6]) filter object at 0x0000000003813828

map(func, *iterable) : 將func用于每個(gè)iterable對(duì)象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) [6,8,10]

zip(*iterable) : 將iterable分組合并。返回一個(gè)zip對(duì)象。 list(zip([1,2,3],[4,5,6])) [(1, 4), (2, 5), (3, 6)]

type():返回一個(gè)對(duì)象的類型。

id(): 返回一個(gè)對(duì)象的唯一標(biāo)識(shí)值。

hash(object):返回一個(gè)對(duì)象的hash值,具有相同值的object具有相同的hash值。 hash('python') 7070808359261009780

help():調(diào)用系統(tǒng)內(nèi)置的幫助系統(tǒng)。

isinstance():判斷一個(gè)對(duì)象是否為該類的一個(gè)實(shí)例。

issubclass():判斷一個(gè)類是否為另一個(gè)類的子類。

globals() : 返回當(dāng)前全局變量的字典。

next(iterator[, default]) : 接收一個(gè)迭代器,返回迭代器中的數(shù)值,如果設(shè)置了default,則當(dāng)?shù)髦械脑乇闅v后,輸出default內(nèi)容。

reversed(sequence) : 生成一個(gè)反轉(zhuǎn)序列的迭代器。 reversed('abc') ['c','b','a']

當(dāng)前標(biāo)題:python布爾函數(shù) python中布爾值bool怎么用
文章URL:http://www.muchs.cn/article22/doseccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)、ChatGPT、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)