国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Python知識(shí)總結(jié)

2019-11-14 16:54:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Python知識(shí)總結(jié)

一、python簡(jiǎn)介

1、Python簡(jiǎn)介

Python是一種解釋型、交互式、面向?qū)ο蟆⑹浅鯇W(xué)者的語(yǔ)言。

2、python特點(diǎn)

①易于學(xué)習(xí)

②易于閱讀

③易于維護(hù)

④一個(gè)廣泛的標(biāo)準(zhǔn)庫(kù)

⑤互動(dòng)模式

⑥便攜式

⑦可擴(kuò)展

數(shù)據(jù)庫(kù)

⑨GUI編程

⑩可擴(kuò)展性

3、python支持tab補(bǔ)全功能:

>>> import readline,rlcompleter

>>> readline.parse_and_bind('tab: complete')

可以將上面兩句寫(xiě)入一個(gè)py文件,直接import即可

ipython要想保存命令歷史,必須安裝sqlite-devel

4、python安裝

#tar -jxvf Python-3.4.3.tar.bz2

#cd Python3.4.3

#./configure [--PRefix=/usr/local/python3]

#make && make install

注意:①python為系統(tǒng)依賴(lài)包,只能更新,不能刪除,而且yum的版本必須 和python配套,升級(jí)python之后,必須給yum指定使用低版本的。相應(yīng)操作如下:

#mv /usr/bin/python /usr/bin/python-2.6.bak 備份

#ln -s /usr/local/bin/python3.4 /usr/bin/python 創(chuàng)建軟連接

#python –V 執(zhí)行版本掃描

②修改yum配置文件,使其正常工作

#vim /usr/bin/yum

將其中的/usr/bin/python修改為/usr/bin/python2.6

③如果上述設(shè)置完畢還有報(bào)錯(cuò),記得修改環(huán)境變量

#vim /etc/profile

5、python運(yùn)行腳本

5.1、執(zhí)行方式

#python

5.2、注意事項(xiàng):

①在python3.0以上版本中,print變成了函數(shù)。所以必須使用print()格式執(zhí)行,而以前版本不用括號(hào)

>>> print('hello man')

②在交互模式下使用python時(shí)注意:只能夠輸入python命令;在腳本中打印語(yǔ)句是必須的,而在交互腳本中可以自動(dòng)打印表達(dá)式效果,不需要輸入完成的打印語(yǔ)句

>>> print (2**10)

③在交互模式下,需要執(zhí)行符合語(yǔ)句,需要加入":",代表語(yǔ)句沒(méi)有執(zhí)行完畢。而且必須用一個(gè)空行來(lái)代表結(jié)束符合語(yǔ)句

>>> for i in range(4):

... print(i)

...

0

1

2

3

4

④要保證縮進(jìn)統(tǒng)一,否則出錯(cuò)

5.3、python腳本運(yùn)行

①bash bang介紹

#!/usr/bin/python

#!/usr/bin/env python(建議使用這種格式,不容易出現(xiàn)python校本不能執(zhí)行的問(wèn)題)

?

二、python編程

1、變量的定義

1.1、變量的命名規(guī)則

①變量名只能用字母和下劃線(_)開(kāi)頭

②變量名可以由字母、數(shù)字和下劃線組成

③變量名大小寫(xiě)敏感,入lamp和LAMP不是同一個(gè)變量名

1.2、變量的賦值

①賦值操作

變量名 = 變量值

②給變量賦值字符串,需要用引號(hào)將字符串包含,否則報(bào)錯(cuò)

>>> name = wdd

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name 'wdd' is not defined

③增量賦值

>>> x = 1

>>> x = x+1

>>> x

2

④多重賦值

>>> x=y=z=2

>>> x

2

>>> y

2

>>> z

2

>>>

⑤"多元賦值"

>>> x,y,z=1,2,3

>>> x

1

>>> y

2

>>> z

3

2、數(shù)據(jù)類(lèi)型

2.1、數(shù)值型

①整形

>>> 123+321

44

②浮點(diǎn)型

>>> 3.14*3

9.42

2.2、字符串型

①字符串定義

>>> name = 'wdd'

>>> name

'wdd'

>>> print(name)

wdd

>>> dir(name) #查看字符串支持的方法幫助

['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

>>> name.replace('wdd','shuaige') #把wdd替換為shuaige

'shuaige'

>>> name.replace('w','cool') 把w替換為cool

'cooldd'

>>> help(name.replace) #查看具體的方法幫助

②字符串中單雙引號(hào)

在字符串中單雙引號(hào)一致,用于包含字符串

>>> persion = 'name','height'

>>> persion

('name', 'height')

>>> info="I'm a good man" #在雙引號(hào)中嵌套單引號(hào),不用轉(zhuǎn)義符

>>> info

"I'm a good man"

>>> print(info)

I'm a good man

③在字符串中調(diào)用特殊字符

如果使用轉(zhuǎn)義符/,將使特殊字符失去含義,系統(tǒng)中特殊的轉(zhuǎn)義字符如下:

轉(zhuǎn)義符

作用

//

保留反斜杠

/,

保留單引號(hào)

/b

退格

/n

換行

/t

水平制表符

/v

垂直制表符

>>> name = 'my/tname/tis/tjack'

>>> name #直接輸出變量name,轉(zhuǎn)義符無(wú)法識(shí)別

'my/tname/tis/tjack'

>>> print(name) #調(diào)用print函數(shù),可以正常使用

my????name????is????jack

④raw轉(zhuǎn)義符抑制

在某些特定情況下可能不需要使用轉(zhuǎn)義符,如在windows中使用系統(tǒng)文件

>>> path = 'c:/new/text.txt'

>>> print(path)

c:

ew????ext.txt # 系統(tǒng)會(huì)把/n和/t識(shí)別為轉(zhuǎn)義符,導(dǎo)致命令失敗

>>> path = r'c:/new/text.txt'

>>> print(path) #使用raw字符串關(guān)閉轉(zhuǎn)義機(jī)制

c:/new/text.txt

⑥三重引號(hào)編寫(xiě)多行字符串

>>> info = """my name is

... jack, I'm a honest

... man"""

>>> info #直接調(diào)用變量不能正確顯示

"my name is/njack, I'm a honest/nman"

>>> print(info) #需要使用print函數(shù)顯示

my name is

jack, I'm a honest

man

注意:不要和注釋搞混,注釋沒(méi)有賦值

⑦、字符串的序列操作

變量中的值在索引中0保存第一個(gè)值,1保存第二個(gè)值

>>> name = 'jack'

>>> len(name)

4

>>> name[0]

'j'

>>> name[1]

'a'

>>> name[2]

'c'

>>> name[3]

'k'

索引也可以反向索引,就是-1代表最后一個(gè)值,-2代表倒數(shù)第二個(gè)值

>>> name[-1]

'k'

>>> name[-2]

'c'

字符串也支持分片操作,就是取出變量中的一部分內(nèi)容

>>> name[1:3]

'ac' #取出變量中第一位到第三位結(jié)束(不包含第四位)的內(nèi)容

>>> name[2:4]

'ck'

>>> name[1:] #取出變量從第一位到變量結(jié)束

'ack'

>>> name[:2] #取出變量從開(kāi)頭·到第一位結(jié)束(不包含第二位)

'ja'

3、列表

列表也是序列的一種,支持對(duì)序列的所有操作。列表于數(shù)組有些類(lèi)似,但比數(shù)組強(qiáng)大得多。列表沒(méi)有數(shù)據(jù)類(lèi)型的限制,可以在一個(gè)列表中定義不同類(lèi)型的對(duì)象。此外列表沒(méi)有固定的大小,可以按照需要增加和減小列表的大小。并且列表中的值是可以改變的。

1、列表操作

  1. 表的定義

>>> info = ['jack','22','M']

>>> info

['jack', '22', 'M'] #此列表中的值既有字符串也有整型

>>> len(info) #查看列表長(zhǎng)度

  1. 列表的序列操作

>>> info[0] #取出列表值第一位

'jack'

>>> info[:-1] #從列表開(kāi)頭取值到倒數(shù)第二位(不包含倒數(shù)第一位)

['jack', '22']

>>> info[0:] #從列表開(kāi)頭取到最后一位

['jack', '22', 'M']

  1. 表的特殊方法

列表中的值是可以改變的,并且列表的大小也是可以改變的

>>> info = ['jack','22','M']

>>> info[0]='mark' #改變列表中0的值

>>> info

['mark', '22', 'M']

>>> help(info) #查看列表可以使用的方法

>>> info.append('American') #追加

>>> info

['mark', '22', 'M', 'American']

>>> info.pop(1) #刪除第一位的值

'22'

>>> info

['mark', 'M', 'American']

>>> info.insert(1,22) #在第一位插入新值22

>>> info

['mark', 22, 'M', 'American']

>>> digit=[1,3,2,5,4]

>>> digit

[1, 3, 2, 5, 4]

>>> digit.sort() #排序

>>> digit

[1, 2, 3, 4, 5]

>>> digit.reverse() #進(jìn)行序列翻轉(zhuǎn)

>>> digit

[5, 4, 3, 2, 1]

2、列表嵌套

列表有一個(gè)特性,支持任意的嵌套、能夠以任意的組合對(duì)其進(jìn)行嵌套,并可以多個(gè)層次進(jìn)行嵌套。這個(gè)特性可以實(shí)現(xiàn)數(shù)據(jù)矩陣,或者多維數(shù)組

>>> m=[[1,2,3],[4,5,6],[7,8,9]]

>>> m

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

>>> m[1][2]

6

>>> m[1][2]=10 #查看第二個(gè)子列表中的第三個(gè)值

>>> m[1][2] #改變第二個(gè)子列表中的第三個(gè)值

?

10

4、元組(tuple)

元組可以看成是一個(gè)不可改變的列表,元組也可以支持序列操作。可以方便地存儲(chǔ)與提取一組值

>>> information=('lusi',18,'F')

>>> information

('lusi', 18, 'F')

>>> information[0] #提取第一個(gè)值

'lusi'

>>> information[1] #提取第二個(gè)值

18

注意:元組中的值不能改變,只能給整個(gè)元組重新賦值(字符串也不能改變值,只能重新定義)

>>> id(information)

3073641204L #元組中的內(nèi)存ID號(hào)

>>> information=("sdf","ahlk",67)

>>> info=(1,2,3) #給元組重新賦值之后,ID號(hào)會(huì)改變,代表是個(gè)新的元組出現(xiàn)

>>> id(info)

3074861852L

>>> a=(1,) #定義只有一個(gè)元素的元組時(shí),需要加逗號(hào),否則會(huì)被識(shí)別為整形

>>> type(a)

<type 'tuple'>

>>> b=(1)

>>> print

print print(

>>> print(type(b))

<type 'int'>

>>> t=(1,2,3) #可以把元組中的值賦予多個(gè)變量(像變量的多元賦值)

>>> t

(1, 2, 3)

>>> a,b,c=t

>>> a

1

>>> b

2

>>> c

3

5、字典

字典編寫(xiě)在{}中,用"鍵:值"的方式進(jìn)行賦值。字典中數(shù)據(jù)成對(duì)保存,適合保存二維數(shù)據(jù),字典的值也可以改變。但是字典的順序并不可靠,也就是我們建立字典時(shí)的順序和我們輸出字典時(shí)候的順序不一定一致。

①字典的定義

>>> info={"name":"jack","age":20,"sex":"M"} #定義字典

>>> info #查看字典

{'age': 20, 'name': 'jack', 'sex': 'M'}

>>> info['name'] #查看字典某一個(gè)鍵的值

'jack'

>>> info['country']='American' #在字典中添加新的"鍵:值"

>>> info

{'country': 'American', 'age': 20, 'name': 'jack', 'sex': 'M'}

②字典中鍵的排序

字典的順序并不可靠,也就是我們建立字典時(shí)的順序和我們輸出字典時(shí)的順序不一定一致

>>> info={"name":"jack","age":20,"sex":"M"}

>>> info #字典輸出的順序并不一定

{'age': 20, 'name': 'jack', 'sex': 'M'}

>>> for key in sorted(info): #for循環(huán),info中有幾個(gè)值,循環(huán)幾次

... print(key, 'is', info[key]) #sorted函數(shù)把info變成列表,并用sort排序,然后用for循環(huán)輸出,注意縮進(jìn)

...

('age', 'is', 20)

('name', 'is', 'jack')

('sex', 'is', 'M')

6、文件型

文件類(lèi)型是python對(duì)電腦上外部文件的主要接口。如果要?jiǎng)?chuàng)建有一個(gè)文件對(duì)象,需要調(diào)用內(nèi)置的open函數(shù),以字符串的形式傳遞給它一個(gè)外部的文件名和一個(gè)處理模式的字符串。

>>> f = open('test','w')

#使用open函數(shù),定義文件名和處理模式,會(huì)在linux當(dāng)前目錄中建立該文件

支持的模式:

'r' 默認(rèn)以讀形式打開(kāi)

'w' 首先清除文件在打開(kāi)進(jìn)行寫(xiě)入

'x' 創(chuàng)建一個(gè)新文件并且打開(kāi)他進(jìn)行寫(xiě)入

'a' 打開(kāi)寫(xiě)入,追加到一個(gè)存在的文件末尾

>>> dir(f) #查看該對(duì)象支持的方法

['__class__', '__delattr__', '__doc__', '__enter__', '__exit__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'closed', 'encoding', 'errors', 'fileno', 'flush', 'isatty', 'mode', 'name', 'newlines', 'next', 'read', 'readinto', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines', 'xreadlines']

>>> f.write('my name is jack/n') #通過(guò)write方法向文件中寫(xiě)入數(shù)據(jù)

>>> f.write('my age is 22/n')

>>> f.close() #關(guān)閉對(duì)文件的寫(xiě)操作

>>> f.close()

>>> t = open('test.txt', 'r') #使用r處理模式,打開(kāi)文件

>>> test = t.read() #賦予變量

>>> test #直接調(diào)用變量不能正確查看內(nèi)容

'my name is jack/nmy age is 22/n'

>>> print(test) #使用print函數(shù)顯示內(nèi)容

my name is jack

my age is 22

7、布爾值

就是判斷表達(dá)式是否為真

>>> 1 == 2

False

>>> 1 < 2

True

>>> 1 > 2

False

>>> 1 <= 2

True

8、查看變量類(lèi)型

>>> name = 'jack'

>>> age = 20

>>> type(name)

<type 'str'>

>>> type(age)

<type 'int'>

>>> age = '18' #加入引號(hào),變成字符串

>>> type(age)

<type 'str'>

9、python的注釋

①# 注釋一句話

②'''

內(nèi)容 #注釋一段內(nèi)容

'''

10、模塊

每一個(gè)義擴(kuò)展名py結(jié)尾的python源碼文件都是一個(gè)模塊,其它腳本可以通過(guò)導(dǎo)入這個(gè)模塊,使用整個(gè)模塊中的所有的內(nèi)容。模塊中國(guó)可以包含函數(shù)和其他的腳本內(nèi)容。

  1. 模塊的搜索路徑

模塊的搜索,先搜索本地位置,再按照sys.path的環(huán)境變量進(jìn)行搜索

導(dǎo)入模塊時(shí),不需要寫(xiě)后綴名

>>> import myhello

需要把自己保存腳本的路徑加入python的path路徑,否則不能正確導(dǎo)入

# cd /usr/local/python27/lib/python2.7/site-packages/

# vim my.pth

/root #把自己的python腳本目錄放入此目錄中以.Pth結(jié)尾

  1. 取幫助

>>> help('modules')

#查詢(xún)系統(tǒng)支持的所有模塊,包含系統(tǒng)內(nèi)置模塊和用戶(hù)導(dǎo)入模塊

>>> help('sys') #查看模塊具體幫助

>>> import math #引入數(shù)學(xué)計(jì)算模塊

>>> dir(math) #查看此模塊支持的函數(shù)

>>> help(math) #查看此模塊具體的注釋

>>> help(math.sin) #查看此模塊中函數(shù)的注釋

>>> math.pi #調(diào)用模塊中一個(gè)函數(shù)

3.141592653589793

③python模塊的導(dǎo)入方法

import 模塊

import 模塊名 as 新名 #給模塊起一個(gè)別名

from 模塊名 import 變量名

  1. Reload模塊

導(dǎo)入的模塊在python中是直接運(yùn)行的,但是導(dǎo)入比較耗費(fèi)資源,所以只能執(zhí)行一次(除非退出重新進(jìn)入會(huì)話)

如果想要重復(fù)導(dǎo)入模塊并執(zhí)行,需要使用reload

>>> import imp #在python中,reload不再是內(nèi)置函數(shù),所以必須導(dǎo)入

>>> imp.reload(myhello) #在模塊中,調(diào)用reload函數(shù)

或者

>>> from imp import reload #從模塊中導(dǎo)入reload函數(shù)

>>> reload(myhello)

hello

<module 'myhello' from 'myhello.pyc'>


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 合川市| 那坡县| 平遥县| 博湖县| 湖州市| 聂荣县| 淮阳县| 肥东县| 白银市| 博白县| 榆社县| 东海县| 西充县| 井冈山市| 阿拉尔市| 鄂尔多斯市| 卫辉市| 湄潭县| 垣曲县| 古浪县| 塔城市| 平远县| 上犹县| 北宁市| 通许县| 巴林左旗| 石台县| 汝南县| 长治市| 塔城市| 唐河县| 化隆| 长葛市| 措勤县| 荔浦县| 株洲市| 驻马店市| 探索| 津南区| 志丹县| 新野县|