python的常用內(nèi)置函數(shù)
創(chuàng)新互聯(lián)服務(wù)緊隨時代發(fā)展步伐,進行技術(shù)革新和技術(shù)進步,經(jīng)過十多年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計師、專業(yè)的網(wǎng)站實施團隊以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對網(wǎng)站進行成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、建設(shè)、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
1.abs() 函數(shù)返回數(shù)字的絕對值
abs(-40)=40
2. dict() 函數(shù)用于創(chuàng)建一個字典
dict()
{} ? ? ?#創(chuàng)建一個空字典類似于u={},字典的存取方式一般為key-value
例如u = {"username":"tom", ?"age":18}
3. help() 函數(shù)用于查看函數(shù)或模塊用途的詳細說明
help('math')查看math模塊的用處
a=[1,2,3,4]
help(a)查看列表list幫助信息
4.dir()獲得當前模塊的屬性列表
dir(help)
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
5.min() 方法返回給定參數(shù)的最小值 /參數(shù)可以為序列
a=? min(10,20,30,40)
a
10
6. next() 返回迭代器的下一個項目
it = iter([1, 2, 3, 4, 5])
next(it)
1
next(it)
2
7. id() 函數(shù)用于獲取對象的內(nèi)存地址
a=12
id(a)
1550569552
8.enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標,一般用在 for 循環(huán)當中。
a=["tom","marry","leblan"]
list(enumerate(a))
[(0, 'tom'), (1, 'marry'), (2, 'leblan')]
9. oct() 函數(shù)將一個整數(shù)轉(zhuǎn)換成8進制字符串
oct(15)
'0o17'
oct(10)
'0o12'
10. bin() 返回一個整數(shù) int 或者長整數(shù) long int 的二進制表示
bin(10)
'0b1010'
bin(15)
'0b1111'
11.eval() 函數(shù)用來執(zhí)行一個字符串表達式,并返回表達式的值
eval('2+2')
4
12.int() 函數(shù)用于將一個字符串會數(shù)字轉(zhuǎn)換為整型
int(3)
3
int(3.6)
3
int(3.9)
3
int(4.0)
4
13.open() 函數(shù)用于打開一個文件,創(chuàng)建一個file對象,相關(guān)的方法才可以調(diào)用它進行讀寫
f=open('test.txt')
14.str() 函數(shù)將對象轉(zhuǎn)化為適于人閱讀的形式
str(3)
'3'
15. bool() 函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類型,如果沒有參數(shù),返回 False
bool()
False
bool(1)
True
bool(10)
True
bool(10.0)
True
16.isinstance() 函數(shù)來判斷一個對象是否是一個已知的類型
a=5
isinstance(a,int)
True
isinstance(a,str)
False
17. sum() 方法對系列進行求和計算
sum([1,2,3],5)
11
sum([1,2,3])
6
18. super() 函數(shù)用于調(diào)用下一個父類(超類)并返回該父類實例的方法。super 是用來解決多重繼承問題的,直接用類名調(diào)用父類方法
class ? User(object):
? def__init__(self):
class Persons(User):
? ? ? ? super(Persons,self).__init__()
19. float() 函數(shù)用于將整數(shù)和字符串轉(zhuǎn)換成浮點數(shù)
float(1)
1.0
float(10)
10.0
20. iter() 函數(shù)用來生成迭代器
a=[1,2,3,4,5,6]
iter(a)
for i in iter(a):
... ? ? ? ? print(i)
...
1
2
3
4
5
6
21.tuple 函數(shù)將列表轉(zhuǎn)換為元組
a=[1,2,3,4,5,6]
tuple(a)
(1, 2, 3, 4, 5, 6)
22.len() 方法返回對象(字符、列表、元組等)長度或項目個數(shù)
s = "playbasketball"
len(s)
14
a=[1,2,3,4,5,6]
len(a)
6
23. property() 函數(shù)的作用是在新式類中返回屬性值
class User(object):
?def __init__(self,name):
? ? ? ? ? self.name = name
def get_name(self):
? ? ? ? ? return self.get_name
@property
?def name(self):
? ? ? ? ?return self_name
24.type() 函數(shù)返回對象的類型
25.list() 方法用于將元組轉(zhuǎn)換為列表
b=(1,2,3,4,5,6)
list(b)
[1, 2, 3, 4, 5, 6]
26.range() 函數(shù)可創(chuàng)建一個整數(shù)列表,一般用在 for 循環(huán)中
range(10)
range(0, 10)
range(10,20)
range(10, 20)
27. getattr() 函數(shù)用于返回一個對象屬性值
class w(object):
... ? ? ? ? ? ? s=5
...
a = w()
getattr(a,'s')
5
28. complex() 函數(shù)用于創(chuàng)建一個復(fù)數(shù)或者轉(zhuǎn)化一個字符串或數(shù)為復(fù)數(shù)。如果第一個參數(shù)為字符串,則不需要指定第二個參數(shù)
complex(1,2)
(1+2j)
complex(1)
(1+0j)
complex("1")
(1+0j)
29.max() 方法返回給定參數(shù)的最大值,參數(shù)可以為序列
b=(1,2,3,4,5,6)
max(b)
6
30. round() 方法返回浮點數(shù)x的四舍五入值
round(10.56)
11
round(10.45)
10
round(10.45,1)
10.4
round(10.56,1)
10.6
round(10.565,2)
10.56
31. delattr 函數(shù)用于刪除屬性
class Num(object):
...? ? a=1
...? ? b=2
...? ? c=3.
.. print1 = Num()
print('a=',print1.a)
a= 1
print('b=',print1.b)
b= 2
print('c=',print1.c)
c= 3
delattr(Num,'b')
print('b=',print1.b)
Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'
32. hash() 用于獲取取一個對象(字符串或者數(shù)值等)的哈希值
hash(2)
2
hash("tom")
-1675102375494872622
33. set() 函數(shù)創(chuàng)建一個無序不重復(fù)元素集,可進行關(guān)系測試,刪除重復(fù)數(shù)據(jù),還可以計算交集、差集、并集等。
a= set("tom")
b = set("marrt")
a,b
({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})
ab#交集
{'t', 'm'}
a|b#并集
{'t', 'm', 'r', 'o', 'a'}
a-b#差集
{'o'}
具體步驟如下:
1、打開pycharm,點擊file,點擊new,新建一個空白的pyrthon文件:
2、這里開始編寫判斷素數(shù)的代碼,判斷素數(shù)的上限最準確的應(yīng)該使用平方根取整加一,此處用到兩層循環(huán),第一層遍歷0到100的數(shù),第二層循環(huán)判斷滿足條件的素數(shù)。這里有一個else要注意是和for對齊而不是if對齊,如果和if對齊只要不能被2整除就會被添加到列表中了,而且會多次添加:
3、右鍵點擊鼠標,點擊“run?demo”,運行編寫好的python文件,在下方的控制臺就可以看見輸出后結(jié)果:
1. 簡介。
圖像處理是一門應(yīng)用非常廣的技術(shù),而擁有非常豐富第三方擴展庫的 Python 當然不會錯過這一門盛宴。PIL (Python Imaging Library)是 Python 中最常用的圖像處理庫,目前版本為 1.1.7,我們可以?在這里?下載學(xué)習(xí)和查找資料。
Image 類是 PIL 庫中一個非常重要的類,通過這個類來創(chuàng)建實例可以有直接載入圖像文件,讀取處理過的圖像和通過抓取的方法得到的圖像這三種方法。
2. 使用。
導(dǎo)入 Image 模塊。然后通過 Image 類中的 open 方法即可載入一個圖像文件。如果載入文件失敗,則會引起一個 IOError ;若無返回錯誤,則 open 函數(shù)返回一個 Image 對象?,F(xiàn)在,我們可以通過一些對象屬性來檢查文件內(nèi)容,即:
1 import Image
2 ? im = Image.open("j.jpg")
3 ? print im.format, im.size, im.mode
4 JPEG (440, 330) RGB
這里有三個屬性,我們逐一了解。
format : 識別圖像的源格式,如果該文件不是從文件中讀取的,則被置為 None 值。
size : 返回的一個元組,有兩個元素,其值為象素意義上的寬和高。
mode : RGB(true color image),此外還有,L(luminance),CMTK(pre-press image)。
現(xiàn)在,我們可以使用一些在 Image 類中定義的方法來操作已讀取的圖像實例。比如,顯示最新載入的圖像:
1 im.show()
2 ?
輸出原圖:
3. 函數(shù)概貌。
3.1 ? ?Reading and Writing Images : open( infilename ) , save( outfilename )
3.2 ? ?Cutting and Pasting and Merging Images :
crop() : 從圖像中提取出某個矩形大小的圖像。它接收一個四元素的元組作為參數(shù),各元素為(left, upper, right, lower),坐標系統(tǒng)的原點(0, 0)是左上角。
paste() :
merge() :
1 box = (100, 100, 200, 200)
2 ? region = im.crop(box)
3 ? region.show()
4 ? region = region.transpose(Image.ROTATE_180)
5 ? region.show()
6 ? im.paste(region, box)
7 ? im.show()
其效果圖為:
旋轉(zhuǎn)一幅圖片:
1 def roll(image, delta):
2 ?? ?"Roll an image sideways"
3
4 ?? ?xsize, ysize = image.size
5
6 ?? ?delta = delta % xsize
7 ?? ?if delta == 0: return image
8
9 ?? ?part1 = image.crop((0, 0, delta, ysize))
10 ?? ?part2 = image.crop((delta, 0, xsize, ysize))
11 ?? ?image.paste(part2, (0, 0, xsize-delta, ysize))
12 ?? ?image.paste(part1, (xsize-delta, 0, xsize, ysize))
13
14 ?? ?return image
3.3 ? ?幾何變換。
3.3.1 ? ?簡單的幾何變換。
1 out = im.resize((128, 128)) ? ? ? ? ? ? ? ? ? ? #
2 ?out = im.rotate(45) ? ? ? ? ? ? ? ? ? ? ? ? ? ??#逆時針旋轉(zhuǎn) 45 度角。
3 ?out = im.transpose(Image.FLIP_LEFT_RIGHT) ? ? ? #左右對換。
4 ?out = im.transpose(Image.FLIP_TOP_BOTTOM) ? ? ? #上下對換。
5 ?out = im.transpose(Image.ROTATE_90) ? ? ? ? ? ? #旋轉(zhuǎn) 90 度角。
6 ?out = im.transpose(Image.ROTATE_180) ? ? ? ? ? ?#旋轉(zhuǎn) 180 度角。
7 out = im.transpose(Image.ROTATE_270) ? ? ? ? ? ?#旋轉(zhuǎn) 270 度角。
各個調(diào)整之后的圖像為:
圖片1:
圖片2:
圖片3:
圖片4:
3.3.2 ? ?色彩空間變換。
convert() : 該函數(shù)可以用來將圖像轉(zhuǎn)換為不同色彩模式。
3.3.3 ? ?圖像增強。
Filters : 在 ImageFilter 模塊中可以使用 filter 函數(shù)來使用模塊中一系列預(yù)定義的增強濾鏡。
1 import ImageFilter
2 imfilter = im.filter(ImageFilter.DETAIL)
3 imfilter.show()
3.4 ? ?序列圖像。
即我們常見到的動態(tài)圖,最常見的后綴為 .gif ,另外還有 FLI / FLC 。PIL 庫對這種動畫格式圖也提供了一些基本的支持。當我們打開這類圖像文件時,PIL 自動載入圖像的第一幀。我們可以使用 seek 和 tell 方法在各幀之間移動。
1 import Image
2 im.seek(1) ? ? ? ?# skip to the second frame
3
4 try:
5 ?? ?while 1:
6 ?? ? ? ?im.seek( im.tell() + 1)
7 ?? ? ? ?# do something to im
8 except EOFError:
9 ?? ?pass
3.5 ? ?更多關(guān)于圖像文件的讀取。
最基本的方式:im = Image.open("filename")
類文件讀?。篺p = open("filename", "rb"); im = Image.open(fp)
字符串數(shù)據(jù)讀?。篿mport StringIO; im = Image.open(StringIO.StringIO(buffer))
從歸檔文件讀?。篿mport TarIO; fp = TarIo.TarIO("Image.tar", "Image/test/lena.ppm"); im = Image.open(fp)
基本的 PIL 目前就練習(xí)到這里。其他函數(shù)的功能可點擊?這里?進一步閱讀。
通過關(guān)鍵字def來創(chuàng)建函數(shù),def的作用是實現(xiàn)python中函數(shù)的創(chuàng)建
函數(shù)定義過程:
函數(shù)名+()小括號執(zhí)行函數(shù)
函數(shù)體內(nèi)對全局變量只能讀取,不能修改
局部變量,無法在函數(shù)體外使用
python 使用 lambda 來創(chuàng)建匿名函數(shù)。
所謂匿名,意即不再使用 def 語句這樣標準的形式定義一個函數(shù)。
你可以打開方式選擇Python的路徑默認的路徑是:"C:\Python27\python.exe"如果程序不是GUI,直接這樣打開可能看不看輸出的結(jié)果你也可以開始運行cmd打開命令提示符輸入python xxx.py運行
調(diào)用騰訊云的語音識別(一句話識別)接口-Python版。
安裝語音識別,語音識別器編碼,處理Ubuntu服務(wù)器,處理WSL。
要運行我們代碼的語音識別庫,我們首先需要安裝語音識別,然后還必須安裝PyAudio。首先,我們從主包開始:sudo pip3 install SpeechRecognition安裝應(yīng)該遵循完全相同的格式,但我似乎缺少了讓它正常工作的軟件包,試圖安裝PyAudio會出錯。這些軟件包應(yīng)該刪除該錯誤。那時我不需要更新apt,但先更新它并不壞處。sudo apt-get install libasound-dev portaudio19-dev libportaudio2libportaudiocpp0有了它,您應(yīng)該可以安裝PyAudio:sudo pip3 install PyAudio語音識別器編碼。
運行WSL(Linux版Windows子系統(tǒng))的Windows機器。它也使用了Ubuntu 16.04,所以安裝過程是一樣的。不過說到使用麥克風(fēng),WSL并不那么簡單。為了通過Ubuntu終端應(yīng)用程序控制麥克風(fēng),需要安裝PulseAudio。