#注意:內建函式id()可以返回乙個物件的身份,返回值為整數。這個整數通常對應與該物件在記憶體中的位置,但這與python的具體實現有關,不應該作為對身份的定義,即不夠精準,最精準的還是以記憶體位址為準。is運算子用於比較兩個物件的身份,等號比較兩個物件的值,內建函式type()則返回乙個物件的型別
format(了解即可)
#字串可以提供的引數 's' none
>>> format('some string','s')
'some string'
>>> format('some string')
'some string'
#整形數值可以提供的引數有 'b' 'c' 'd' 'o' 'x' 'x' 'n' none
>>> format(3,'b') #轉換成二進位制
'11'
>>> format(97,'c') #轉換unicode成字元
'a'>>> format(11,'d') #轉換成10進製
'11'
>>> format(11,'o') #轉換成8進製
'13'
>>> format(11,'x') #轉換成16進製制 小寫字母表示
'b'>>> format(11,'x') #轉換成16進製制 大寫字母表示
'b'>>> format(11,'n') #和d一樣
'11'
>>> format(11) #預設和d一樣
'11'
#浮點數可以提供的引數有 'e' 'e' 'f' 'f' 'g' 'g' 'n' '%' none
>>> format(314159267,'e') #科學計數法,預設保留6位小數
'3.141593e+08'
>>> format(314159267,'0.2e') #科學計數法,指定保留2位小數
'3.14e+08'
>>> format(314159267,'0.2e') #科學計數法,指定保留2位小數,採用大寫e表示
'3.14e+08'
>>> format(314159267,'f') #小數點計數法,預設保留6位小數
'314159267.000000'
>>> format(3.14159267000,'f') #小數點計數法,預設保留6位小數
'3.141593'
>>> format(3.14159267000,'0.8f') #小數點計數法,指定保留8位小數
'3.14159267'
>>> format(3.14159267000,'0.10f') #小數點計數法,指定保留10位小數
'3.1415926700'
>>> format(3.14e+1000000,'f') #小數點計數法,無窮大轉換成大小字母
'inf'
#g的格式化比較特殊,假設p為格式中指定的保留小數字數,先嘗試採用科學計數法格式化,得到冪指數exp,如果-4<=exp>> format(0.00003141566,'.1g') #p=1,exp=-5 ==》 -4<=exp>> format(0.00003141566,'.2g') #p=1,exp=-5 ==》 -4<=exp>> format(0.00003141566,'.3g') #p=1,exp=-5 ==》 -4<=exp>> format(0.00003141566,'.3g') #p=1,exp=-5 ==》 -4<=exp>> format(3.1415926777,'.1g') #p=1,exp=0 ==》 -4<=exp>> format(3.1415926777,'.2g') #p=1,exp=0 ==》 -4<=exp>> format(3.1415926777,'.3g') #p=1,exp=0 ==》 -4<=exp>> format(0.00003141566,'.1n') #和g相同
'3e-05'
>>> format(0.00003141566,'.3n') #和g相同
'3.14e-05'
>>> format(0.00003141566) #和g相同
'3.141566e-05'
lambda與內建函式結合使用
字典的運算:最小值,最大值,排序
salaries=
迭代字典,取得是key,因而比較的是key的最大和最小值
>>> max(salaries)
'yuanhao'
>>> min(salaries)
'alex'
可以取values,來比較
>>> max(salaries.values())
>>> min(salaries.values())
但通常我們都是想取出,工資最高的那個人名,即比較的是salaries的值,得到的是鍵
>>> max(salaries,key=lambda k:salary[k])
'alex'
>>> min(salaries,key=lambda k:salary[k])
'yuanhao'
也可以通過zip的方式實現
salaries_and_names=zip(salaries.values(),salaries.keys())
先比較值,值相同則比較鍵
>>> max(salaries_and_names)
(100000000, 'alex')
salaries_and_names是迭代器,因而只能訪問一次
>>> min(salaries_and_names)
traceback (most recent call last):
file "", line 1, in valueerror: min() arg is an empty sequence
sorted(iterable,key=none,reverse=false)
eval與exec
#1、語法
# eval(str,[,globasl[,locals]])
# exec(str,[,globasl[,locals]])
#2、區別
#示例一:
s='1+2+3'
print(eval(s)) #eval用來執行表示式,並返回表示式執行的結果
print(exec(s)) #exec用來執行語句,不會返回任何值
'''6
none
'''#示例二:
print(eval('1+2+x',,)) #返回33
print(exec('1+2+x',,)) #返回none
# print(eval('for i in range(10):print(i)')) #語法錯誤,eval不能執行表示式
print(exec('for i in range(10):print(i)'))
complie(了解即可)
compile(str,filename,kind)
filename:用於追蹤str來自於哪個檔案,如果不想追蹤就可以不定義
kind可以是:single代表一條語句,exec代表一組語句,eval代表乙個表示式
s='for i in range(10):print(i)'
code=compile(s,'','exec')
exec(code)
s='1+2+3'
code=compile(s,'','eval')
eval(code)
Python基礎知識點學習之內置型別
想要學好python,一定要學好各類知識點,比如類 物件 資料型別等。有部分同學對於內建型別概念模糊,接下來我分享的python基礎知識點彙總就給大家簡單梳理一下。內建型別是指任何語言在設計初期定義的型別,如c語言中的int double char等。它也是在一種語言中最基本的型別,與編譯器編譯出的...
正則知識點補充
1.與正規表示式有關的字串物件的方法 string.replace pattern,string 替換在正規表示式查詢中找到的文字。string.search pattern 通過正規表示式查詢相應的字串,只是判斷有無匹配的字串。如果查詢成功,search 返回匹配串的位置,否則返回 1。strin...
property知識點補充
1 synthesize和 dynamic作用 1 property有兩個對應的詞,乙個是 synthesize,乙個是 dynamic。如果 synthesize和 dynamic都沒寫,那麼預設的就是 syntheszie var var 2 synthesize的語義是如果你沒有手動實現set...