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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python之路【第一篇】:Python简介和入门

發(fā)布時(shí)間:2025/7/14 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python之路【第一篇】:Python简介和入门 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python之路【第一篇】:Python簡(jiǎn)介和入門

Python簡(jiǎn)介?

Python前世今生

python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節(jié)期間,吉多·范羅蘇姆為了在阿姆斯特丹打發(fā)時(shí)間,決心開(kāi)發(fā)一個(gè)新的腳本解釋程序,作為ABC語(yǔ)言的一種繼承。??

最新的TIOBE排行榜,Python趕超PHP占據(jù)第五!!!

由上圖可見(jiàn),Python整體呈上升趨勢(shì),反映出Python應(yīng)用越來(lái)越廣泛并且也逐漸得到業(yè)內(nèi)的認(rèn)可!!!

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

注視:上述重點(diǎn)字體表示該公司主要使用Python語(yǔ)言開(kāi)發(fā)

為什么是Python而不是其他語(yǔ)言?

C 和 Python、Java、C#等

? ? C語(yǔ)言: 代碼編譯得到 機(jī)器碼 ,機(jī)器碼在處理器上直接執(zhí)行,每一條指令控制CPU工作

其他語(yǔ)言: 代碼編譯得到 字節(jié)碼 ,虛擬機(jī)執(zhí)行字節(jié)碼并轉(zhuǎn)換成機(jī)器碼再后在處理器上執(zhí)行

Python 和 C ?Python這門語(yǔ)言是由C開(kāi)發(fā)而來(lái)

  對(duì)于使用:Python的類庫(kù)齊全并且使用簡(jiǎn)潔,如果要實(shí)現(xiàn)同樣的功能,Python 10行代碼可以解決,C可能就需要100行甚至更多.
  對(duì)于速度:Python的運(yùn)行速度相較與C,絕逼是慢了

Python 和 Java、C#等

  對(duì)于使用:Linux原裝Python,其他語(yǔ)言沒(méi)有;以上幾門語(yǔ)言都有非常豐富的類庫(kù)支持
  對(duì)于速度:Python在速度上可能稍顯遜色

所以,Python和其他語(yǔ)言沒(méi)有什么本質(zhì)區(qū)別,其他區(qū)別在于:擅長(zhǎng)某領(lǐng)域、人才豐富、先入為主。

?

Python的種類

  • Cpython
    ? ? Python的官方版本,使用C語(yǔ)言實(shí)現(xiàn),使用最為廣泛,CPython實(shí)現(xiàn)會(huì)將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運(yùn)行在Python虛擬機(jī)上。
  • Jyhton
    ? ? Python的Java實(shí)現(xiàn),Jython會(huì)將Python代碼動(dòng)態(tài)編譯成Java字節(jié)碼,然后在JVM上運(yùn)行。
  • IronPython
    ? ? Python的C#實(shí)現(xiàn),IronPython將Python代碼編譯成C#字節(jié)碼,然后在CLR上運(yùn)行。(與Jython類似)
  • PyPy(特殊)
    ? ? Python實(shí)現(xiàn)的Python,將Python的字節(jié)碼字節(jié)碼再編譯成機(jī)器碼。
  • RubyPython、Brython ...

以上除PyPy之外,其他的Python的對(duì)應(yīng)關(guān)系和執(zhí)行流程如下:

?

PyPy,在Python的基礎(chǔ)上對(duì)Python的字節(jié)碼進(jìn)一步處理,從而提升執(zhí)行速度!

Python環(huán)境?

安裝Python

windows:

1 2 3 4 5 6 7 1、下載安裝包 ????https://www.python.org/downloads/ 2、安裝 ????默認(rèn)安裝路徑:C:\python27 3、配置環(huán)境變量 ????【右鍵計(jì)算機(jī)】--》【屬性】--》【高級(jí)系統(tǒng)設(shè)置】--》【高級(jí)】--》【環(huán)境變量】--》【在第二個(gè)內(nèi)容框中找到 變量名為Path 的一行,雙擊】?--> 【Python安裝目錄追加到變值值中,用 ; 分割】 ????如:原來(lái)的值;C:\python27,切記前面有分號(hào)

linux:

1 2 3 無(wú)需安裝,原裝Python環(huán)境 ps:如果自帶2.6,請(qǐng)更新至2.7

更新Python

windows:

1 卸載重裝即可

linux:

Linux的yum依賴自帶Python,為防止錯(cuò)誤,此處更新其實(shí)就是再安裝一個(gè)Python

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 查看默認(rèn)Python版本 python?-V 1、安裝gcc,用于編譯Python源碼 ????yum install gcc 2、下載源碼包,https://www.python.org/ftp/python/ 3、解壓并進(jìn)入源碼文件 4、編譯安裝 ????./configure ????make?all ????make install 5、查看版本 ????/usr/local/bin/python2.7?-V 6、修改默認(rèn)Python版本 ????mv?/usr/bin/python?/usr/bin/python2.6 ????ln?-s?/usr/local/bin/python2.7?/usr/bin/python 7、防止yum執(zhí)行異常,修改yum使用的Python版本 ????vi?/usr/bin/yum ????將頭部?#!/usr/bin/python 修改為 #!/usr/bin/python2.6

Python 入門

一、第一句Python代碼

在 /home/dev/ 目錄下創(chuàng)建 hello.py 文件,內(nèi)容如下:

1 print?"hello,world"

執(zhí)行 hello.py 文件,即:?python /home/dev/hello.py

python內(nèi)部執(zhí)行過(guò)程如下:

二、解釋器

上一步中執(zhí)行 python /home/dev/hello.py?時(shí),明確的指出 hello.py 腳本由 python 解釋器來(lái)執(zhí)行。

如果想要類似于執(zhí)行shell腳本一樣執(zhí)行python腳本,例:?./hello.py?,那么就需要在 hello.py 文件的頭部指定解釋器,如下:

1 2 3 #!/usr/bin/env python print?"hello,world"

如此一來(lái),執(zhí)行:?./hello.py?即可。

ps:執(zhí)行前需給予 hello.py 執(zhí)行權(quán)限,chmod 755 hello.py

三、內(nèi)容編碼

python解釋器在加載 .py 文件中的代碼時(shí),會(huì)對(duì)內(nèi)容進(jìn)行編碼(默認(rèn)ascill)

ASCII(American Standard Code for Information Interchange,美國(guó)標(biāo)準(zhǔn)信息交換代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言,其最多只能用 8 位來(lái)表示(一個(gè)字節(jié)),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個(gè)符號(hào)。

顯然ASCII碼無(wú)法將世界上的各種文字和符號(hào)全部表示,所以,就需要新出一種可以代表所有字符和符號(hào)的編碼,即:Unicode

Unicode(統(tǒng)一碼、萬(wàn)國(guó)碼、單一碼)是一種在計(jì)算機(jī)上使用的字符編碼。Unicode 是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語(yǔ)言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,規(guī)定雖有的字符和符號(hào)最少由 16 位來(lái)表示(2個(gè)字節(jié)),即:2 **16 =?65536,
注:此處說(shuō)的的是最少2個(gè)字節(jié),可能更多

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

所以,python解釋器在加載 .py 文件中的代碼時(shí),會(huì)對(duì)內(nèi)容進(jìn)行編碼(默認(rèn)ascill),如果是如下代碼的話:

報(bào)錯(cuò):ascii碼無(wú)法表示中文

1 2 3 #!/usr/bin/env python print?"你好,世界"?

改正:應(yīng)該顯示的告訴python解釋器,用什么編碼來(lái)執(zhí)行源代碼,即:

1 2 3 4 #!/usr/bin/env python # -*- coding: utf-8 -*- print?"你好,世界"

四、注釋

  當(dāng)行注視:# 被注釋內(nèi)容

  多行注釋:""" 被注釋內(nèi)容 """

五、執(zhí)行腳本傳入?yún)?shù)

Python有大量的模塊,從而使得開(kāi)發(fā)Python程序非常簡(jiǎn)潔。類庫(kù)有包括三中:

  • Python內(nèi)部提供的模塊
  • 業(yè)內(nèi)開(kāi)源的模塊
  • 程序員自己開(kāi)發(fā)的模塊

Python內(nèi)部提供一個(gè) sys 的模塊,其中的 sys.argv 用來(lái)捕獲執(zhí)行執(zhí)行python腳本時(shí)傳入的參數(shù)

1 2 3 4 5 6 #!/usr/bin/env python # -*- coding: utf-8 -*- import?sys print?sys.argv?

六、 pyc 文件

執(zhí)行Python代碼時(shí),如果導(dǎo)入了其他的 .py 文件,那么,執(zhí)行過(guò)程中會(huì)自動(dòng)生成一個(gè)與其同名的 .pyc 文件,該文件就是Python解釋器編譯之后產(chǎn)生的字節(jié)碼。

ps:代碼經(jīng)過(guò)編譯可以產(chǎn)生字節(jié)碼;字節(jié)碼通過(guò)反編譯也可以得到代碼。

七、變量

1、聲明變量

1 2 3 4 #!/usr/bin/env python # -*- coding: utf-8 -*- name?=?"wupeiqi"

上述代碼聲明了一個(gè)變量,變量名為: name,變量name的值為:"wupeiqi"

變量的作用:昵稱,其代指內(nèi)存里某個(gè)地址中保存的內(nèi)容

變量定義的規(guī)則:

  • 變量名只能是 字母、數(shù)字或下劃線的任意組合
  • 變量名的第一個(gè)字符不能是數(shù)字
  • 以下關(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']

2、變量的賦值

#!/usr/bin/env python # -*- coding: utf-8 -*-name1 = "wupeiqi" name2 = "alex"


#!/usr/bin/env python # -*- coding: utf-8 -*-name1 = "wupeiqi" name2 = name1


八、輸入
1 2 3 4 5 6 7 8 #!/usr/bin/env python # -*- coding: utf-8 -*- # 將用戶輸入的內(nèi)容賦值給 name 變量 name?=?raw_input("請(qǐng)輸入用戶名:") # 打印輸入的內(nèi)容 print?name

輸入密碼時(shí),如果想要不可見(jiàn),需要利用getpass 模塊中的 getpass方法,即:

1 2 3 4 5 6 7 8 9 10 #!/usr/bin/env python # -*- coding: utf-8 -*- import?getpass # 將用戶輸入的內(nèi)容賦值給 name 變量 pwd?=?getpass.getpass("請(qǐng)輸入密碼:") # 打印輸入的內(nèi)容 print?pwd

九、流程控制和縮進(jìn)

需求一、用戶登陸驗(yàn)證

1 2 3 4 5 # 提示輸入用戶名和密碼 # 驗(yàn)證用戶名和密碼 #???? 如果錯(cuò)誤,則輸出用戶名或密碼錯(cuò)誤 #???? 如果成功,則輸出 歡迎,XXX!
+ View Code

需求二、根據(jù)用戶輸入內(nèi)容輸出其權(quán)限

1 2 3 4 5 6 # 根據(jù)用戶輸入內(nèi)容打印其權(quán)限 # alex --> 超級(jí)管理員 # eric --> 普通管理員 # tony --> 業(yè)務(wù)主管 # 其他 --> 普通用戶
+ View Code 外層變量,可以被內(nèi)層變量使用 內(nèi)層變量,無(wú)法被外層變量使用 十、初識(shí)基本數(shù)據(jù)類型 1、數(shù)字

2 是一個(gè)整數(shù)的例子。
長(zhǎng)整數(shù) 不過(guò)是大一些的整數(shù)。
3.23和52.3E-4是浮點(diǎn)數(shù)的例子。E標(biāo)記表示10的冪。在這里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是復(fù)數(shù)的例子。

int(整型)

在32位機(jī)器上,整數(shù)的位數(shù)為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483647
  在64位系統(tǒng)上,整數(shù)的位數(shù)為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807 long(長(zhǎng)整型)
  跟C語(yǔ)言不同,Python的長(zhǎng)整數(shù)沒(méi)有指定位寬,即:Python沒(méi)有限制長(zhǎng)整數(shù)數(shù)值的大小,但實(shí)際上由于機(jī)器內(nèi)存有限,我們使用的長(zhǎng)整數(shù)數(shù)值不可能無(wú)限大。
  注意,自從Python2.2起,如果整數(shù)發(fā)生溢出,Python會(huì)自動(dòng)將整數(shù)數(shù)據(jù)轉(zhuǎn)換為長(zhǎng)整數(shù),所以如今在長(zhǎng)整數(shù)數(shù)據(jù)后面不加字母L也不會(huì)導(dǎo)致嚴(yán)重后果了。
float(浮點(diǎn)型)
  浮點(diǎn)數(shù)用來(lái)處理實(shí)數(shù),即帶有小數(shù)的數(shù)字。類似于C語(yǔ)言中的double類型,占8個(gè)字節(jié)(64位),其中52位表示底,11位表示指數(shù),剩下的一位表示符號(hào)。
complex(復(fù)數(shù))
  復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分組成,一般形式為x+yj,其中的x是復(fù)數(shù)的實(shí)數(shù)部分,y是復(fù)數(shù)的虛數(shù)部分,這里的x和y都是實(shí)數(shù)。 注:Python中存在小數(shù)字池:-5 ~ 257 2、布爾值 真或假 1 或 0 3、字符串 "hello world" 萬(wàn)惡的字符串拼接: python中的字符串在C語(yǔ)言中體現(xiàn)為是一個(gè)字符數(shù)組,每次創(chuàng)建字符串時(shí)候需要在內(nèi)存中開(kāi)辟一塊連續(xù)的空,并且一旦需要修改字符串的話,就需要再次開(kāi)辟空間,萬(wàn)惡的+號(hào)每出現(xiàn)一次就會(huì)在內(nèi)從中重新開(kāi)辟一塊空間。 字符串格式化
1 2 3 4 name?=?"alex" print?"i am %s "?%?name #輸出: i am alex

PS: 字符串是 %s;整數(shù) %d;浮點(diǎn)數(shù)%f

字符串常用功能:
  • 移除空白
  • 分割
  • 長(zhǎng)度
  • 索引
  • 切片
4、列表 創(chuàng)建列表:
1 2 3 name_list?=?['alex',?'seven',?'eric'] 或 name_list =?list(['alex',?'seven',?'eric'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 刪除
  • 長(zhǎng)度
  • 切片
  • 循環(huán)
  • 包含
5、元祖 創(chuàng)建元祖:
1 2 3 ages?=?(11,?22,?33,?44,?55) 或 ages?=?tuple((11,?22,?33,?44,?55))
基本操作:
  • 索引
  • 切片
  • 循環(huán)
  • 長(zhǎng)度
  • 包含
6、字典(無(wú)序) 創(chuàng)建字典:
1 2 3 person?=?{"name":?"mr.wu",?'age':?18} 或 person?=?dict({"name":?"mr.wu",?'age':?18})

常用操作:

  • 索引
  • 新增
  • 刪除
  • 鍵、值、鍵值對(duì)
  • 循環(huán)
  • 長(zhǎng)度
PS:循環(huán),range,continue 和 break 十一、運(yùn)算 算數(shù)運(yùn)算:

比較運(yùn)算:

賦值運(yùn)算:

邏輯運(yùn)算:

成員運(yùn)算:

身份運(yùn)算:

位運(yùn)算:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #!/usr/bin/python a?=?60????????????# 60 = 0011 1100 b?=?13????????????# 13 = 0000 1101 c?=?0 c?=?a & b;????????# 12 = 0000 1100 print?"Line 1 - Value of c is ", c c?=?a | b;????????# 61 = 0011 1101 print?"Line 2 - Value of c is ", c c?=?a ^ b;????????# 49 = 0011 0001 print?"Line 3 - Value of c is ", c c?=?~a;???????????# -61 = 1100 0011 print?"Line 4 - Value of c is ", c c?=?a <<?2;???????# 240 = 1111 0000 print?"Line 5 - Value of c is ", c c?=?a >>?2;???????# 15 = 0000 1111 print?"Line 6 - Value of c is ", c

運(yùn)算符優(yōu)先級(jí):

更多內(nèi)容:猛擊這里

十二、初識(shí)文本的基本操作 打開(kāi)文件: file_obj = file("文件路徑","模式") 打開(kāi)文件的模式有:
  • r,以只讀方式打開(kāi)文件
  • w,打開(kāi)一個(gè)文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
  • a,打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
  • w+,打開(kāi)一個(gè)文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

讀取文件的內(nèi)容:

1 2 3 4 5 6 7 8 9 # 一次性加載所有內(nèi)容到內(nèi)存 obj.read() # 一次性加載所有內(nèi)容到內(nèi)存,并根據(jù)行分割成字符串 obj.readlines() # 每次僅讀取一行數(shù)據(jù) for?line?in?obj:   print?line

寫文件的內(nèi)容:

1 obj.write('內(nèi)容')

關(guān)閉文件句柄:

1 obj.close()

?作業(yè)??

作業(yè)一:博客

作業(yè)二:編寫登陸接口

  • 輸入用戶名密碼
  • 認(rèn)證成功后顯示歡迎信息
  • 輸錯(cuò)三次后鎖定
作業(yè)三:多級(jí)菜單
  • 三級(jí)菜單
  • 可依次選擇進(jìn)入各子菜單
  • 所需新知識(shí)點(diǎn):列表、字典

?

轉(zhuǎn)載于:https://www.cnblogs.com/weiman3389/p/6223997.html

總結(jié)

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

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