python當中的eval()函數(shù)是將字符串當成有效Python表達式來求值,并返回計算結果
成都創(chuàng)新互聯(lián)公司長期為1000+客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為金秀企業(yè)提供專業(yè)的成都做網站、成都網站制作,金秀網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
x?=?1
eval('x+1')
eval('x==1')
與之對應的repr函數(shù),它能夠將Python的變量和表達式轉換為字符串表示:
repr(x+1)
repr(x+ ‘1’-1)('x=+=1')
Python是純粹的自由軟件,?源代碼和解釋器CPython遵循?GPL(GNU?General Public License)協(xié)議。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結在一起。
常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。
需要注意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現(xiàn)。
python中遇到不明白的地方,可以試試help
這里要查看find的作用,可以鍵入help(str.find),然后得到提示如下:
Help?on?method_descriptor:
find(...)
S.find(sub[,?start[,?end]])?-?int
Return?the?lowest?index?in?S?where?substring?sub?is?found,
such?that?sub?is?contained?within?S[start:end].??Optional
arguments?start?and?end?are?interpreted?as?in?slice?notation.
Return?-1?on?failure.
解釋要點大致如下:
find()方法檢測字符串S中是否包含子字符串sub,如果指定start(開始) 和 end(結束)范圍,則檢查是否包含在指定范圍內,如果包含子字符串返回開始的索引值(如果包含多個字串,只返回最左邊出現(xiàn)的索引值),查找失敗返回-1。以本題為例:
s="abcd1234"
s.find("cd"),在字符串s中查找字串"cd"第一次出現(xiàn)時s中的索引值,因為索引從0開始,所以結果為2,注意s中出現(xiàn)多次cd的情況,例如:
s="abcd1234cd"
s.find("cd")的結果依然是2,找不到時返回-1,比如:
s="1234"
s.find("cd")的結果為-1
python中函數(shù)的作用不包括增加代碼量。根據查詢相關資料信息,python中函數(shù)的作用有復用代碼、提高效率、減少代碼量等相關作用。
Python 函數(shù)定義以及參數(shù)傳遞
1.函數(shù)定義
#形如def func(args...):
doSomething123
以關鍵字def 開頭,后面是函數(shù)名和參數(shù)下面是函數(shù)處理過程。
舉例:
def add( a, b ):
return a+b12
參數(shù)可以設定默認值,如:
def add( a, b=10 ): #注意:默認值參數(shù)只會運算一次
return a+b12
默認值參數(shù)只會運算一次是什么意思?
def func( a, b=[] ): #b的默認值指向一個空的列表,每次不帶默認值都會指向這塊內存
b.append(a) return b
print(func(1))#向默認的空列表里加入元素1 ,默認列表里已經是[1]print(func(2))#向默認的列表里加入元素2,默認列表里已經是[1,2]print(func(3,[]))#向b指向的空列表里加入元素1 ,默認列表里還是[1,2]print(func(4))#向默認的列表里加入元素4,默認列表里已經是[1,2,4]'''
結果:
[1]
[1, 2]
[3]
[1, 2, 4]
'''12345678910111213141516
這下明白為什么默認參數(shù)只計算一次了吧,函數(shù)參數(shù)不傳遞時默認值總是指向固定的內存空間,就是第一次計算的空間。
2.參數(shù)傳遞
def func(a, b):
print('a=%d, b=%d' % (a,b) )12
在使用函數(shù)時可以如下方式,結果都是相同的
func(10,20) #不使用參數(shù)名,需要按參數(shù)順序傳遞func(a=10,b=20) #使用參數(shù)名可以不按順序傳遞func(b=20,a=10)#結果:a=10, b=20a=10, b=20a=10, b=201234567
如果函數(shù)定義形式如下方式:
def func(*args): #這種定義會把傳遞的參數(shù)包成元組
print(args,type(args))
func(10,20)#結果:#(10, 20) class 'tuple'1234567
舉一個和上述過程相反的例子:
def func(a,b):
print('a=%d, b=%d' % (a,b) )
a = (10, 20)
func(*a) #在調用函數(shù)使用`*`則會把元組解包成單個變量按順序傳入函數(shù)#結果:a=10, b=20123456
總結:*號在定義函數(shù)參數(shù)時,傳入函數(shù)的參數(shù)會轉換成元組,如果 *號在調用時則會把元組解包成單個元素。
另一種定義:
def func(**kw):#使用**定義參數(shù)會把傳入參數(shù)包裝成字典dict
print(kw, type(kw) )
func(a=10,b=20)#這種函數(shù)在使用時必須指定參數(shù)值,使用key=value這種形式#結果:{'b': 20, 'a': 10} class 'dict'12345
相反的例子:
def func(a,b):
print('a=%d, b=%d' % (a,b) )
d = {'a':10, 'b':20 }
func(**d) #在調用時使用**會把字典解包成變量傳入函數(shù)。12345
def func(*args, **kw):#這種形式的定義代表可以接受任意類型的參數(shù)
print(args,kw )12
總結:**號在定義函數(shù)參數(shù)時,傳入函數(shù)的參數(shù)會轉換成字典,如果 **號在調用時則會把字典解包成單個元素。
lambda表達式
lambda表達式就是一種簡單的函數(shù)
形如 f = lambda 參數(shù)1,參數(shù)2: 返回的計算值
例如:
add = lambda x,y: x+y
print(add(1,2))'''
結果:3
'''12345
Pos()功能在一個字符串中查找所包含的另一個字符串的起始位置。語法Pos ( string1, string2 {, start } )
參數(shù)string1:string類型,指定要從中查找子串string2的字符串string2:string類型,指定要在string1中查找的字符串start:long類型,可選項,指定從string1的第幾個字符開始查找。缺省值為1返回值Long。函數(shù)執(zhí)行成功時返回在start位置后string2在string1中第一次出現(xiàn)的起始位置。如果在string1中按指定要求未找到string2、或start的值超過了string1的長度,那么Pos()函數(shù)返回0。如果任何參數(shù)的值為NULL,Pos()函數(shù)返回NULL。用法Pos()函數(shù)在字符串查找時區(qū)分大小寫,因此,"aa"不匹配"AA"。
拓展資料:
公式的運用
一、數(shù)字處理
1、取絕對值函數(shù)
公式:=ABS(數(shù)字)
2、取整函數(shù)
公式:=INT(數(shù)字)
3、四舍五入函數(shù)
公式:=ROUND(數(shù)字,小數(shù)位數(shù))
二、判斷公式
1、如果計算的結果值錯誤那么顯示為空
公式:=IFERROR(數(shù)字/數(shù)字,)
說明:如果計算的結果錯誤則顯示為空,否則正常顯示。
2、IF語句的多條件判定及返回值
公式:IF(AND(單元格(邏輯運算符)數(shù)值,指定單元格=返回值1),返回值2,)
說明:所有條件同時成立時用AND,任一個成立用OR函數(shù)。
三、常用的統(tǒng)計公式
1、統(tǒng)計在兩個表格中相同的內容
公式:B2=COUNTIF(數(shù)據源:位置,指定的,目標位置)
說明:如果返回值大于0說明在另一個表中存在,0則不存在。
如果,在此示例中所用到的公式為:B2=COUNTIF(Sheet15!A:A,A2)
2、統(tǒng)計不重復的總數(shù)據
公式:C2=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))
說明:用COUNTIF函數(shù)統(tǒng)計出源數(shù)據中每人的出現(xiàn)次數(shù),并用1除的方式把變成分數(shù),最后再相加。
四、數(shù)據求和公式
1、隔列求和的應用
公式:H3=SUMIF($A$2:$G$2,H$2,A3:G3)或=SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3)
說明:如果在標題行中沒有規(guī)則就可以用第2個公式
2、單條件應用之求和
公式:F2=SUMIF(A:A,C:C)
說明:這是SUMIF函數(shù)的最基礎的用法
五、查找與引用公式
1、單條件查找
說明:VLOOKUP是excel中最常用的查找方式
六、字符串處理公式
1、多單元格字符串的合并
說明:Phonetic函數(shù)只能合并字符型數(shù)據,不能合并數(shù)值。
2、截取結果3位之外的部分
說明:LEN計算總長度,LEFT從左邊截總長度-3個。
列表的作用是一次性存儲多個數(shù)據,程序員可以對這些數(shù)據進行的操作有:增、刪、改、查。
下面講解的是對列表的查找操作,可以分為兩種方法,一種是根據下標來進行查找,另外一種是根據查找函數(shù)來操作。
回憶一下知識點,之前講過字符串的時候有說到下標,下標是計算機內存分配的從0開始的編號,目的是根據下標可以找到針對性的數(shù)據。列表也可以根據下標來找到數(shù)據,后面學習的元組同樣也可以。
語法:
注意:如果以后都是用下標來查找數(shù)據,語法無非就是:序列名[下標]
快速體驗:
打印結果如圖:
語法:
快速體驗:
執(zhí)行結果如圖:
注意:
語法:
快速體驗:
注意 :
-- 2. 如果書寫了開始和結束位置的下標,則在這個范圍內查找,存在則返回開始位置的下標,如果查找的數(shù)據不存在則返回0;
語法:
注意: len()方法是一個公共的方法,無論是字符串、列表還是元組都可以使用
快速體驗:
以上就是列表的4種查找方法,每個方法有自己的語法和作用,這個知識點屬于 Python基礎教程 范疇,所以學起來還是比較輕松地,大家主要多多練習記住函數(shù)以及使用方法即可。