日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 第一篇:python简介和入门

發(fā)布時間:2024/1/17 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 第一篇:python简介和入门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、python簡介

1、python下載地址:https://www.python.org/downloads/

Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,做為ABC 語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為程序的名字,是因為他是一個叫Monty Python的喜劇團體的愛好者。

2、Python排行和使用場景:

????python在從2014年的排名第八升級為2015年的排名第5:

????Python可以應用于眾多領(lǐng)域,如:數(shù)據(jù)分析、組件集成、網(wǎng)絡服務、圖像處理、數(shù)值計算和科學計算等眾多領(lǐng)域。目前業(yè)內(nèi)幾乎所有大中型互聯(lián)網(wǎng)企業(yè)都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、美團等。互聯(lián)網(wǎng)公司廣泛使用Python來做的事一般有:自動化運維、自動化測試、大數(shù)據(jù)分析、爬蟲、Web 等。


3、Python種類:

Cpython Python的官方版本,使用C語言實現(xiàn),使用最為廣泛,CPython實現(xiàn)會將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運行在Python虛擬機上。

Jyhton Python的Java實現(xiàn),Jython會將Python代碼動態(tài)編譯成Java字節(jié)碼,然后在JVM上運行轉(zhuǎn)換后的程序

IronPython? Python的C#實現(xiàn),并且它將Python代碼編譯成C#中間代碼(與Jython類似)

PyPy? Python實現(xiàn)的Python

其他實現(xiàn)方式:RubyPython、Brython、Pyobjc .


4、python安裝:

Linux安裝:

linux默認自帶python,但是centos和redhat的版本普遍比官方版本低很多,因此可以另外安裝一個版本使用,步驟

如下:

?1、先安裝gcc編譯器,命令為:yum?install?gcc2、解壓Python安裝包并編譯安裝,注意P為大寫:tar?xvf?Python-2.7.10.tgz?cd?Python-2.7.10./configuremakemake?install3、查看版本:Python?2.7.10?(default,?Jul?18?2015,?04:12:23)? [GCC?4.4.7?20120313?(Red?Hat?4.4.7-4)]?on?linux2 Type?"help",?"copyright",?"credits"?or?"license"?for?more?information. dlopen("/usr/local/python27/lib/python2.7/lib-dynload/readline.so",?2); 4、設置軟連接:?#不建議更改默認python版本,因為會出現(xiàn)系統(tǒng)錯誤,如yum是python寫的,會導致yum無法使用 ln?-sv?/usr/local/python27/bin/python?/usr/local/bin/python27 5、測試python: [root@node5?Python-2.7.10]#?python27? Python?2.7.10?(default,?Jul?18?2015,?04:12:23)? [GCC?4.4.7?20120313?(Red?Hat?4.4.7-4)]?on?linux2 Type?"help",?"copyright",?"credits"?or?"license"?for?more?information. >>>?print?"Hello,你好" Hello,你好


二:使用python:

1、使用vim編寫一個腳本,內(nèi)容如下:

#!/usr/local/bin/python27

print ?"hello word!"

執(zhí)行腳本:

[root@node5 python]# python hello.py?

hello word!


2、python內(nèi)部執(zhí)行流程:

pyhton程序先交給解釋器,然后經(jīng)過詞法分析-->語法分析-->編譯-->執(zhí)行


三、python編碼:

1、ASCII:(American Standard Code for Information Interchange,美國標準信息交換代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節(jié)),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個符號,且不支持中文,圖標如下:


2、Unicode(統(tǒng)一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語言中的每個字符設定了統(tǒng)一并且唯一的二進制編碼,規(guī)定雖有的字符和符號最少由 16 位來表示(2個字節(jié)),即:2 **16 = 65536


3、UTF-8:utF-8是對Unicode編碼的壓縮和優(yōu)化,他不再使用最少使用2個字節(jié),而是將所有的字符和符號進行分類:ascii碼中的內(nèi)容用1個字節(jié)保存,歐洲的字符用2個字節(jié)保存,東亞的字符用3個字節(jié)保存...

因為python默認的編碼是采用的ASCII,所以在python直接輸出中文會因為使用ASCII編碼不支持中文而報錯,如:

#!/usr/bin/python27 #coding:utf-8?#聲明使用utg-8編碼 print?"你好"#此問題在python?3之后的版本不需要設置,因為python3默認編碼即為utf-8

4、編碼轉(zhuǎn)換:

將utf-8或gbk格式的轉(zhuǎn)換為unicode稱為decode,將unicode轉(zhuǎn)換為其他編碼稱為encode

decode的作用是將其他編碼的字符串轉(zhuǎn)換成unicode編碼

encode的作用是將unicode編碼轉(zhuǎn)換成其他編碼的字符串


四:注釋與幫助文檔:

單行注釋: #注釋內(nèi)容,如:

print?"你好"?#第一個注釋

夸多行注釋: '''內(nèi)容'''或""" 內(nèi)容""",在python里單引號和雙引號是沒有區(qū)別的,如:

#!/usr/bin/python27 #coding:utf-8? """?第一 個注釋?""" print?"你好"


五、?pyc 文件

????執(zhí)行Python代碼時,如果導入了其他的模塊即其他的xx.py文件,那么,執(zhí)行過程中會自動生成一個與其同名的和py文件同名的.pyc 文件,該文件就是Python解釋器編譯之后產(chǎn)生的字節(jié)碼,代碼經(jīng)過編譯可以產(chǎn)生字節(jié)碼;字節(jié)碼通過反編譯也可以得到代碼,即使刪除該py文件之后python程序依然可以運行,因為python或優(yōu)先讀取pyc文件,但是假如手動修改了pyc文件,則python會重新讀取py文件并重新生成新的pyc文件,因為python會內(nèi)部判斷,因此不需要也不能手動更改pyc文件。


六:python變量:

變量名稱代表了內(nèi)存中的某一段空間,空間里面保存的是變量的對象,變量可以是任何數(shù)值,但是變量的名稱只能是數(shù)字、大小寫字母和下劃線,而且變量名的第一個字符不能是數(shù)字開頭的,變量名不要使用和系統(tǒng)已經(jīng)使用的特殊關(guān)鍵字

不能作為的名字的關(guān)鍵字如下:

['and','as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else','except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in','is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try','while', 'with', 'yield']

1、聲明變量:

name = "zhangshijie"

print name

2、變量的賦值:

a?=?"jack" b?=?"tom"

其結(jié)果是在內(nèi)存開啟了兩個地址空間,a和b分別表示這兩個地址空間的內(nèi)容。

?

a?=?"jack" b?=?a 以下會開啟一個地址空間,兩個變量名將指向同一個內(nèi)存地址進行調(diào)用:


七:獲取用戶輸入:

1、使用raw_input的方法獲取用戶輸入的字符串信息給一個變量,然后把變量打印出來,還有另外一種方法input只能獲取數(shù)值:

#/usr/bin/env??python #?-*-?coding:utf-8?-*- name?=?raw_input("Please?input?yout?name:")??#在python2中raw_input獲取的為字串,inpu獲取為數(shù)值 print?"your?name?is:",name在python3中,沒有了raw_input,只有input方法,默然獲取到的為字串,如果要獲取數(shù)值,可以加上int(input("請輸入你想要輸入的數(shù)字或內(nèi)容:"))

2、輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:

#/usr/bin/env??python #?-*-?coding:utf-8?-*- import??getpass password?=?getpass.getpass("請輸入你的密碼")print?password 注:密碼是隱藏的,而且運行的時候連輸入密碼的提示框都沒有,可以在調(diào)試模式下看到詳細的內(nèi)容,如下: Warning:?Password?input?may?be?echoed. 請輸入你的密碼qqqqqqqq qqqqqqqq

八:python流程控和縮進:

1、if else語句流程控制,進行判斷用戶輸入,非A即B,python對縮進要求很嚴格,必須嚴格按照4個空格的方式進行排序,而且if下一級的代碼必須與if保持4個空格換行間距,,即父代碼要與子代碼嚴格區(qū)分,如果縮進不符合要求會報縮進錯誤:

IndentationError: unindent does not match any outer indentation level

#/usr/bin/env??python #?-*-?coding:utf-8?-*-import?getpassname?=?raw_input('請輸入你的用戶名:') pwd?=?getpass.getpass('請輸入你的密碼:')if?name?==?"jack"?and?pwd?==?"123abc":print?"歡迎,jack!" else:print?"你的用戶名和密碼錯誤"

2、if elif elif elif ...else: # 有N個判斷條件,一次匹配一個條件,如下:

name?=?raw_input("請輸入你的用戶名:") if?name?==?"jack":print?"jack" elif?name?==?"tom":print?"tom" elif?name?==?"lili":print?"lili" elif?name?==?"wangwu":print?"wangwu" else:print?"用戶名不正確"

八:python傳遞參數(shù):

使用python標準庫sys模塊中的argv方法獲取用戶傳遞的所有參數(shù),以列表的形式展現(xiàn)用戶傳遞的參數(shù)(在使用運行python程序的時候傳遞的參數(shù),如python ?xx.py ?server1 192.168.0.1,則第0個參數(shù)是腳本本身,第一個參數(shù)是server1,第二個參數(shù)是192.168.0.1,以此類推),如下:

[root@node5?python]#?vim?argv.py?#!/usr/bin/pythonimport?sysprint?sys.argvprint?sys.argv[1]?#讀輸出的列表進行分割,取第二個傳遞的參數(shù)是什么 [root@node5?python]#?python?argv.py??server1?192.168.0.1?#運行腳本傳遞參數(shù) ['argv.py',?'server1',?'192.168.0.1']??#打印傳遞的所有參數(shù) server1??#第二個參數(shù)





二:Python的核心數(shù)據(jù)類型:

數(shù)字

????Int:×××

????

????long:長×××

????

????float:浮點型

????

????complex:負數(shù)

??????

????bool:布爾型

????布爾類型只有兩個值,False 和 True。

????通常用來判斷條件是否成立。

????如果變量值為 0 就是 False,否則為 True,布爾類型只有這兩個值。

? ??

字符:str:字符型,字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符,主要用單引號‘’或雙引號標注區(qū)分,其中單引號和雙引號沒有區(qū)別

????


列表:list,使用比較頻繁,列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(所謂嵌套),列表中的值得分割也可以用到變量[頭下標:尾下標],就可以截取相應的列表,從左到右索引默認0開始的,從右到左索引默認-1開始,下標可以為空表示取到頭或尾。

????


元組:tuple,元組是另一個數(shù)據(jù)類型,類似于List(列表),元組用"()"標識。內(nèi)部元素用逗號隔開。但是元素不能二次賦值,相當于只讀列表。

????


字典:dictdictionary的簡寫),字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對象結(jié)合,字典是無序的對象集合,兩者之間的區(qū)別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取,字典用"{ }"標識。字典由索引(key)和它對應的值value組成。

????


字典:dict(dictionary的簡寫),用{}創(chuàng)建和表示

????字典是可變的,其他編程語言中又稱作數(shù)組或散列表通過鍵實現(xiàn)元素存取,無序集合,可變類型容器,長度可變,支持異構(gòu)(可同時包含數(shù)值和字符),支持嵌套(在字典中嵌套字典)

1、創(chuàng)建字典:

dict1 = {'ab':12,'bc':23}


2、查看字典所支持的函數(shù)對象:


3、獲取函數(shù)的幫助文檔信息:

In [310]: help(dict.copy) ?#格式為help(字典或字典名:函數(shù)名)

Help on method_descriptor:

copy(...)

? ? D.copy() -> a shallow copy of D


4、dic1.copy():字典復制:


5、dic2.get('x'):通過鍵來獲取其對應的對象的內(nèi)容:


6、dic2.has_key('a')---> 查看字典對象中是否有某個指定的鍵,有返回True,無返回False


7、dic2.values() #查看字典的鍵

??dic2.keys() #查看字典的值


8、dic2.update(dic1) ?#字典合并


9、dic2.viewvalues() #以列表的方式顯示鍵

??dic2.viewkeys() #以列表的方式顯示值


10、dic2.pop('d') #刪除指定的鍵并顯示此鍵對應的數(shù)值


11、dic2.popitem() #隨機刪除鍵值并顯示


12、zip('abc','123') ?#生成序列

??dict(zip('abc','123')) #將序列轉(zhuǎn)換成字典


轉(zhuǎn)載于:https://blog.51cto.com/zhangshijie/1732761

總結(jié)

以上是生活随笔為你收集整理的Python 第一篇:python简介和入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。