python常用函数和操作_python一条语句分析几个常用函数和概念 -
前言
過(guò)年也沒(méi)完全閑著,每天用一點(diǎn)點(diǎn)時(shí)間學(xué)點(diǎn)東西,本文為大家介紹幾個(gè)python操作的細(xì)節(jié),包含all、any、for in等操作,以及介紹我解決問(wèn)題的思路。
一、開(kāi)篇
先從我看到的一個(gè)簡(jiǎn)單的語(yǔ)句開(kāi)始。
剛看到這個(gè)語(yǔ)句的時(shí)候我整個(gè)人完全懵住了,完全看不懂這是干啥的。不過(guò)其實(shí)編程難的不是這些東西,這些東西再也不怕,也能想辦法解決掉,而隱藏在這后面的編程思維及數(shù)學(xué)等知識(shí)是很難解決的。
1.1 any、all
言歸正傳,看到這個(gè)語(yǔ)句后,我想到的就是如何將復(fù)雜的問(wèn)題簡(jiǎn)單化。
于是我先查了一下any函數(shù),查到any和all函數(shù)都是對(duì)于集合而言的。
描述
any() 函數(shù)用于判斷給定的可迭代參數(shù) iterable 是否全部為空對(duì)象,如果都為空、0、false,則返回 False,如果不都為空、0、false,則返回 True。
函數(shù)等價(jià)于:
語(yǔ)法
以下是 all() 方法的語(yǔ)法:
all(iterable)
參數(shù)
iterable -- 元組或列表。
返回值
如果iterable的所有元素不為0、’’、False或者iterable為空,all(iterable)返回True,否則返回False;
注意:空元組、空列表返回值為True,這里要特別注意。
簡(jiǎn)單點(diǎn)說(shuō),any函數(shù)用于判斷給定的可迭代參數(shù)iterable是否全部為空對(duì)象,如果都為空、0、false中的一種(以下簡(jiǎn)稱為空),則返回False,如果不都為空,則返回True;而all函數(shù)剛好相反,如果全不為空,則返回True,否則返回False。
1.2 for in
這就是說(shuō)上面的語(yǔ)句any里面是一個(gè)iterable對(duì)象。我們?cè)賮?lái)看一下里面的語(yǔ)句:
for 循環(huán)語(yǔ)句
Python for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。
語(yǔ)法:
for循環(huán)的語(yǔ)法格式如下:
流程圖:
可以明顯的看到一個(gè)for,for in在python里面很明顯,簡(jiǎn)單的說(shuō)就是循環(huán)一個(gè)集合,并對(duì)此集合進(jìn)行過(guò)濾、計(jì)算等操作。同樣先簡(jiǎn)化它:
這很明顯,生成的集合與原來(lái)相同,但是平常我們看到的都是這樣的:
這里面就牽涉到python生成器的概念。
1.3 生成器
生成器的優(yōu)點(diǎn)在于不需要事先計(jì)算,只需要在需要的時(shí)候才會(huì)調(diào)用,不浪費(fèi)存儲(chǔ)空間和計(jì)算時(shí)間。簡(jiǎn)單的說(shuō)生成器是一種特殊的集合,這種集合并不像普通的集合一樣事先全部算出,而是在需要的時(shí)候才去計(jì)算。其實(shí)實(shí)現(xiàn)方式很簡(jiǎn)單,將[]換成()即可,于是就有了上面的語(yǔ)句。關(guān)于生成器的其他操作和生成方式可以在網(wǎng)上查閱相關(guān)資料,這里不再贅述。
1.4 繼續(xù)for in
接著上面的for in繼續(xù)介紹,(word for word in [“拍照”, “拍張照”])結(jié)果與原始數(shù)據(jù)相同,那么如果我們想要產(chǎn)生一點(diǎn)變化就要對(duì)第一個(gè)word執(zhí)行一個(gè)函數(shù),于是就有了word in text,這里的in就是個(gè)函數(shù),判斷word是否是在text中,即word是否是text的子串,相當(dāng)于其他語(yǔ)言的contain。
這樣就很清楚了,(word in text for word in [“拍照”, “拍張照”])表示循環(huán)原始集合,判斷每個(gè)元素是否是給定的text字符串的子串,返回的是個(gè)True、False集合。
當(dāng)然我們也可以在循環(huán)的時(shí)候?qū)崿F(xiàn)過(guò)濾,看如下語(yǔ)句:
貌似這條語(yǔ)句跟上面的差別就在于word in text的位置發(fā)生了變化,并多了個(gè)if。其實(shí)二者差別非常大,這里實(shí)現(xiàn)的功能是判斷word是否是text的子串,如果是則取出,相當(dāng)于過(guò)濾掉不是子串的對(duì)象,最終返回的是一個(gè)字符串集合。
1.5 總體
那么這里我們?cè)賮?lái)看一下最開(kāi)始的語(yǔ)句:
綜合以上語(yǔ)句就可以知道此語(yǔ)句實(shí)現(xiàn)的是循環(huán)集合判斷每一個(gè)字符串是否是給定的text的子串,最終如果不全為空的話就返回True,即text只要包含集合中的任意一個(gè)字符串,則返回True。可以用于命令檢測(cè)等等場(chǎng)合。
二、總結(jié)
本文通過(guò)一個(gè)稍微復(fù)雜的語(yǔ)句,為大家介紹了python中幾個(gè)常用的函數(shù)和概念,并分析了由繁而簡(jiǎn)的過(guò)程。
總結(jié)
以上是生活随笔為你收集整理的python常用函数和操作_python一条语句分析几个常用函数和概念 -的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 无线AP移动后信号减弱
- 下一篇: python面向对象编程思想书籍_Pyt