第一章 Python基礎(chǔ)語法

一糯钙、python概述

1任岸、什么是python?

  • Python是一種解釋型困鸥、面向?qū)ο蠹簿汀討B(tài)數(shù)據(jù)類型的高級程序設(shè)計語言
  • Python由Guido van Rossum于1989年底發(fā)明猬腰,第一個公開發(fā)行版發(fā)行于1991年
  • 像Perl語言一樣, Python 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議

2猜敢、簡介

  • Python 是一種解釋型語言

    開發(fā)過程中沒有了編譯這個環(huán)節(jié),類似于PHP和Perl語言

  • Python 是交互式語言

    可以在一個Python提示符兰英,直接互動執(zhí)行程序

  • Python 是面向?qū)ο笳Z言

    Python支持面向?qū)ο蟮娘L(fēng)格或代碼封裝在對象的編程技術(shù)

  • Python 是初學(xué)者的語言

    Python 對初級程序員而言畦贸,是一種偉大的語言薄坏,它支持廣泛的應(yīng)用程序開發(fā)寨闹,從簡單的文字處理到 WWW 瀏覽器再到游戲

3繁堡、語言的區(qū)別

  • 解釋型語言

    • 比如 PHP Python
    • 優(yōu)點:可移植性較好椭蹄,只要有解釋環(huán)境,可在不同的操作系統(tǒng)上運行
    • 缺點:運行需要解釋環(huán)境罩润,運行起來比編譯的要慢割以,占用資源也要多一些严沥,代碼效率低中姜,代碼修改后就可運行扎筒,不需要編譯過程
    • 解釋型語言嗜桌,是在運行的時候?qū)⒊绦蚍g成機(jī)器語言,所以運行速度相對于編譯型語言要慢浮定。
  • 編譯型語言

    • C C++ Java
    • 優(yōu)點:運行速度快桦卒,代碼效率高方灾,編譯后的程序不可修改裕偿,保密性較好
    • 缺點:代碼需要經(jīng)過編譯方可運行,可移植性差劲腿,只能在兼容的操作系統(tǒng)上運行
    • 編譯型語言在程序執(zhí)行之前焦人,有一個單獨的編譯過程垃瞧,將程序翻譯成機(jī)器語言,以后執(zhí)行這個程序的時候脉幢,就不用再進(jìn)行翻譯了嫌松。

4萎羔、發(fā)展歷史

Python是一種解釋型贾陷、面向?qū)ο笏璺稀討B(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。

Python由Guido van Rossum于1989年底發(fā)明顶燕,第一個公開發(fā)行版發(fā)行于1991年涌攻。

像Perl語言一樣, Python 源代碼同樣遵循 GPL(GNU General Public License)協(xié)議恳谎。(通用性公開許可證)

版本:2.xx 3.xx

Python的3.0版本惠爽,常被稱為Python 3000,或簡稱Py3k租副。相對于Python的早期版本用僧,這是一個較大的升級责循。為了不帶入過多的累贅院仿,Python 3.0在設(shè)計的時候沒有考慮向下兼容歹垫。

5颠放、特點

  1. 易于學(xué)習(xí)

    Python有相對較少的關(guān)鍵字碰凶,結(jié)構(gòu)簡單欲低,和一個明確定義的語法砾莱,學(xué)習(xí)起來更加簡單

  2. 易于閱讀

    Python代碼定義的更清晰

  3. 易于維護(hù)

    Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的

  4. 一個廣泛的標(biāo)準(zhǔn)庫

    Python的最大的優(yōu)勢之一是豐富的庫恤磷,跨平臺的,在UNIX匈子,Windows和Macintosh兼容很好

  5. 互動模式

    互動模式的支持虎敦,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言其徙,互動的測試和調(diào)試代碼片斷

  6. 可移植

    基于其開放源代碼的特性喷户,Python已經(jīng)被移植(也就是使其工作)到許多平臺

  7. 可擴(kuò)展

    如果需要一段運行很快的關(guān)鍵代碼褪尝,或者是想要編寫一些不愿開放的算法河哑,你可以使用C或C++完成那部分程序璃谨,然后從你的Python程序中調(diào)用

  8. 數(shù)據(jù)庫

    Python提供所有主要的商業(yè)數(shù)據(jù)庫的接口

  9. GUI編程

    Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用

  10. 可嵌入

    你可以將Python嵌入到C/C++程序佳吞,讓你的程序的用戶獲得"腳本化"的能力
    

6容达、缺點

  • 運行速度慢

    和C程序相比非常慢花盐,因為Python是解釋型語言算芯,代碼在執(zhí)行時會一行一行地翻譯成CPU能理解的機(jī)器碼熙揍,這個翻譯過程非常耗時届囚,所以很慢意系。而C程序是運行前直接編譯成CPU能執(zhí)行的機(jī)器碼,所以非程荡撸快

  • 代碼不能加密

    如果要發(fā)布Python程序夸溶,實際上就是發(fā)布源代碼缝裁,這一點跟C語言不同压语,C語言不用發(fā)布源代碼胎食,只需要把編譯后的機(jī)器碼(也就是在Windows上常見的xxx.exe文件)發(fā)布出去厕怜。要從機(jī)器碼反推出C代碼是不可能的粥航,所以,凡是編譯型的語言生百,都沒有這個問題递雀,而解釋型的語言,則必須把源碼發(fā)布出去

7蚀浆、方向

  1. Linux運維

    Linux運維是必須而且一定要掌握Python語言缀程,Python是一門非常NB的編程語言,它可以滿足Linux運維工程師的工作需求提升效率市俊,總而提升自己的能力杨凑,運維工程師需要自己獨立開發(fā)一個完整的自動化系統(tǒng)時摆昧,這個時候才是真正價值的體現(xiàn)撩满,才能證明自身的能力,讓老板重視。

  2. Python Web網(wǎng)站工程師

    我們都知道Web一直都是不可忽視的存在伺帘,我們離不開網(wǎng)絡(luò)昭躺,離不開Web,利用Python的框架可以做網(wǎng)站曼追,而且都是一些精美的前端界面窍仰,還有我們需要掌握一些數(shù)據(jù)的應(yīng)用。

  3. Python自動化測試

    大家都知道礼殊,就是Python語言對測試的幫助是非常大的驹吮,自動化測試中Python語言的用途很廣,可以說Python太強(qiáng)大晶伦,掌握和熟悉自動化的流程碟狞,方法和我們總使用的各個模板,到現(xiàn)在為止婚陪,我了解的Python使用最多的應(yīng)該是自動化測試族沃。

  4. 數(shù)據(jù)分析

    我們都知道現(xiàn)在來臨了大數(shù)據(jù)的時代,數(shù)據(jù)可以說明一切問題的原因泌参,現(xiàn)在很多做數(shù)據(jù)分析的不是原來那么簡單脆淹,Python語言成為了做數(shù)據(jù)分析師的第一首選,它同時可以給工作帶來很大的效率沽一。

  5. 人工智能

    我們都知道谷歌制作出了的機(jī)器人戰(zhàn)勝了一個圍棋大師盖溺,這個就是目前剛出頭的人工智能,當(dāng)然我們的人工智能時代還沒有到來铣缠,如果這天來了烘嘱,生活和世界將會發(fā)生翻天覆地的變化,而且現(xiàn)在發(fā)展這么快蝗蛙,人工智能的時代不會太遠(yuǎn)蝇庭。

二、內(nèi)存與進(jìn)制

(1) 內(nèi)存

概述:

內(nèi)存 是計算機(jī)中的重要的部件之一 它是與cpu進(jìn)行溝通的橋梁 計算機(jī)中所有的程序 都是在內(nèi)存中進(jìn)行的 所以 內(nèi)存的性能對計算機(jī)的影響比較大

內(nèi)存中以二進(jìn)制形式存儲數(shù)據(jù)

單位:

1T = 1024G

1G = 1024兆

1兆 = 1024k

1k = 1024字節(jié)

1字節(jié) = 8bit

內(nèi)存中 以二進(jìn)制的形式存儲數(shù)據(jù)的

8bit并不等于某一個二進(jìn)制數(shù)捡硅,他只是決定了位寬哮内,也就是8位二進(jìn)制位寬。bit是位的意思壮韭,1字節(jié)等于8位北发,二進(jìn)制數(shù)。

計算機(jī)內(nèi)部的數(shù)據(jù)都用二進(jìn)制表示,而每一“位”二進(jìn)制數(shù)字就是1bit泰涂,是最小單位鲫竞,比如二進(jìn)制的1就是1bit辐怕,二進(jìn)制的1010就是4bit逼蒙,而每一字節(jié)(byte)就由8bit組成。

(2) 進(jìn)制轉(zhuǎn)換

https://blog.csdn.net/diyu122222/article/details/80692904

  • 十進(jìn)制

    特性:逢十進(jìn)一

    數(shù)字:0 1 2 3 4 5 6 7 8 9

    計算:1 + 9 = 10

  • 二進(jìn)制

    特性:逢二進(jìn)一

    數(shù)字:0 1

    計算:1 + 1 = 10

  • 八進(jìn)制

    特性:逢八進(jìn)一

    數(shù)字:0 1 2 3 4 5 6 7

    計算:1 + 7 = 10

  • 十六進(jìn)制

    特性:逢十六進(jìn)一

    數(shù)字:0 1 2 3 4 5 6 7 8 9 a b c d e f

    計算:1 + f = 10

(3) 各進(jìn)制與二進(jìn)制的轉(zhuǎn)換

  • 十進(jìn)制轉(zhuǎn)二進(jìn)制

    公式:倒除取余法 然后將余數(shù) 倒著拿出來 左側(cè)不足為 拿0來補(bǔ)充

    1 0001
    2 0010
    3 0011
    4 0100
    5 0101
    6 0110
    7 0111
    8 1000
    9 1001
    10 1010

    轉(zhuǎn)換:10(10) --> 1010 (2)


    8326cffc1e178a822eea2094f703738da977e834.jpg.png
  • 二進(jìn)制轉(zhuǎn)十進(jìn)制

    公式:計算每一位的2的位數(shù)次方寄疏,再相加

    轉(zhuǎn)換:1010(2) --> 0 x 2^0 + 1 x 2^1 + 0 x 2^2 + 1 x 2^3 = 0+2+0+8 = 10(10)

    截屏2020-01-09上午10.03.44.png
  • 二進(jìn)制轉(zhuǎn)八進(jìn)制

    公式:【三位一取】從低位開始是牢,每三位得到一個八進(jìn)制數(shù)字僵井,最后高位不足則補(bǔ)0

    轉(zhuǎn)換:010110011(2) --> 263 (8)


    空白-5.png
  • 二進(jìn)制轉(zhuǎn)十六進(jìn)制

    公式:【四位一取】從低位開始,每四位得到一個十六進(jìn)制數(shù)字驳棱,最后高位不足則補(bǔ)0

    轉(zhuǎn)換:100101100(2) --> 12C (16)

    空白.png
  • 八進(jìn)制轉(zhuǎn)二進(jìn)制

    公式:【一轉(zhuǎn)3位】八進(jìn)制的一位相當(dāng)于二進(jìn)制的3三位批什,計算時按照十進(jìn)制數(shù)字轉(zhuǎn)換

    轉(zhuǎn)換:263(8) --> 010110011(2) (2)

空白-5.png
  • 十六進(jìn)制轉(zhuǎn)二進(jìn)制

    公式:【一轉(zhuǎn)4位】十六進(jìn)制的一位相當(dāng)于二進(jìn)制的4位,計算時按照十進(jìn)制數(shù)字轉(zhuǎn)換

    轉(zhuǎn)換:12C(16) --> 100101100 (2)

空白-2-8539556.png

注意:

4位2進(jìn)制轉(zhuǎn)換為十六進(jìn)制時 從右側(cè) 開始轉(zhuǎn)換 不足4位的 0補(bǔ)位

轉(zhuǎn)換為2進(jìn)制

每一個數(shù) 除2取余 不足4為 0補(bǔ)位

(4) 直接法

把一個十進(jìn)制數(shù) 直接轉(zhuǎn)換為八進(jìn)制或者16進(jìn)制 按照除8和16取余的方式

把159轉(zhuǎn)換為8進(jìn)制

a9b4330183c5fad089004035bad2fc14.jpeg

把150轉(zhuǎn)換為8進(jìn)制

把159轉(zhuǎn)換為 16進(jìn)制

159倒除16 取余數(shù) 同上

  1. 有一個八進(jìn)制數(shù) 226 十進(jìn)制數(shù)為 150

    226怎樣轉(zhuǎn)換為10進(jìn)制

    2*8的n次方 和2進(jìn)制轉(zhuǎn)換一樣

  2. 有一個十六進(jìn)制數(shù) 96 十進(jìn)制數(shù)為 150

    9*16的n次方 和2進(jìn)制轉(zhuǎn)換一樣

(2) 編譯型語言(強(qiáng)類型語言)

  • C C++ Java
  • 優(yōu)點: 運行速度快 代碼效率高 編譯后的程序 不可修改 保密性好
  • 缺點: 代碼需要經(jīng)過編譯才能運行 可移植性差 只能在兼容的系統(tǒng)上運行

三社搅、安裝環(huán)境

Python有倆個版本

  1. python3.6

  2. python2.7

  3. 只有 0.3%是不相同的 print() print ""

  4. Python2.7 和Python3.6
    注意:2.7和3.6語法上有一點點區(qū)別 但是 我們可以使用工具將 Python2.7升級為Python3

Python在安裝的時候 要將Python的配置加入到環(huán)境變量里 這樣在終端里打開默認(rèn)就為 3.6 如果想使用Python默認(rèn)為 2.7 那么將Python2.7的路徑 加到 系統(tǒng)的環(huán)境變量里 把系統(tǒng)環(huán)境變量最后加上一個分號 然后在把你的路徑賦值進(jìn)去

四驻债、Windows快捷鍵

  1. calc 計算器
  2. notepad 記事本
  3. mspaint 畫圖工具
  4. cmd windows終端

五、文件常用后綴

  1. .py python文件
  2. .html/.htm html文件
  3. .css css樣式文件
  4. .js js代碼的文件
  5. .php PHP文件
  6. .sql SQL文件

六形葬、變量的命名規(guī)則

  1. 使用外文

  2. 嚴(yán)格區(qū)分大小寫

  3. 不能使用關(guān)鍵字

    • 查看關(guān)鍵字的方式

      import keyword

      print(keyword.kwlist)

  4. 統(tǒng)一使用小駝峰的命名規(guī)則

    • myName

      classMethod = '小駝峰'
      #變量名 函數(shù)名 使用小駝峰
      ClassMethod = '大駝峰'
      #類名統(tǒng)一使用大駝峰
      
  5. 由數(shù)字字母下劃線組成 不能以數(shù)字作為開頭

  6. 見名知意

  7. 注意代碼的縮進(jìn)

注意:

在python中 語句的結(jié)尾分號 可有可無 但是建議不加

如果多行語句 寫在一行的時候 必須添加 作為當(dāng)前語句的結(jié)束

七合呐、變量的賦值

(1) 單一賦值

變量名 = 值

(2) 統(tǒng)一賦值

多個變量為同一個值

變量1 = 變量2 ... = 值

(3) 對稱賦值

變量1,變量2... = 值1,值2...

注意:

  1. Python的每句語句的結(jié)束 分號可加可不加
  2. 多條語句寫在一行必須加分號

八、python的輸入和輸出

(1) 輸出

print(輸出的內(nèi)容)

輸出多個值 使用逗號來隔開

print(內(nèi)容1,內(nèi)容2...)

實例

print('Hello  World')
print('什么字分開比較爽笙以,合起來比較疼淌实?','什么字?')
print('答:咬')

(2) 輸入

input(提示信息)

實例

demo = input("請輸入你的內(nèi)容")# input里面的內(nèi)容為 提示信息
print('你輸入了:',demo)

使用了os模塊的例子

#一個可以打開Windows的模塊 通過正確的指令
import os
command = input('請輸入指令')
os.system(command)

九猖腕、代碼的注釋

作用:
  1. 代碼的調(diào)試
  2. 解釋說明

注意:

被注釋的代碼和內(nèi)容 不會被解析

每個語言都有自己的注釋 寫法上可能不同 但是作用一樣

比如:

HTML的注釋

css 的注釋 /*注釋的內(nèi)容*/

python注釋:
(1) 單行注釋

語法: #

#單行注釋    被注釋的代碼和內(nèi)容 不會被解析
(2) 多行注釋

“”“注釋內(nèi)容"""

'''注釋內(nèi)容'''

實例:

"""
print('Hello World')
print('Hello World')
print('Hello World')
"""

注意:

  1. 單行注釋可以嵌套單行注釋
  2. 多行注釋可以嵌套單行注釋
  3. 多行注釋不可以嵌套多行注釋 但是如果嵌套的多行注釋中沒有存在其他的內(nèi)容 則可以 因為此刻為倆個多行注釋

十拆祈、變量的刪除del

del 變量名

實例

num = 1
num2 = 2
del num  #刪除變量num
del num,num2  #刪除多個變量
print(num)

案例

import os
command = str(input("輸入命令"))
os.system(command)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市倘感,隨后出現(xiàn)的幾起案子放坏,更是在濱河造成了極大的恐慌,老刑警劉巖侠仇,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轻姿,死亡現(xiàn)場離奇詭異,居然都是意外死亡逻炊,警方通過查閱死者的電腦和手機(jī)互亮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來余素,“玉大人豹休,你說我怎么就攤上這事〗暗酰” “怎么了威根?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長视乐。 經(jīng)常有香客問我洛搀,道長,這世上最難降的妖魔是什么佑淀? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任留美,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谎砾。我一直安慰自己逢倍,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布景图。 她就那樣靜靜地躺著较雕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挚币。 梳的紋絲不亂的頭發(fā)上亮蒋,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機(jī)與錄音妆毕,去河邊找鬼宛蚓。 笑死,一個胖子當(dāng)著我的面吹牛设塔,可吹牛的內(nèi)容都是我干的凄吏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼闰蛔,長吁一口氣:“原來是場噩夢啊……” “哼痕钢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起序六,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤任连,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后例诀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體随抠,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年繁涂,在試婚紗的時候發(fā)現(xiàn)自己被綠了拱她。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡扔罪,死狀恐怖秉沼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情矿酵,我是刑警寧澤唬复,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站全肮,受9級特大地震影響敞咧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辜腺,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一休建、第九天 我趴在偏房一處隱蔽的房頂上張望柱锹。 院中可真熱鬧,春花似錦丰包、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至胧华,卻和暖如春寄症,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背矩动。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工有巧, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悲没。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓篮迎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親示姿。 傳聞我的和親對象是個殘疾皇子甜橱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 本節(jié)內(nèi)容 Python介紹 發(fā)展史 Python 2 or 3? 安裝 Hello World程序 變量 用戶輸入...
    小小不懂11閱讀 3,421評論 2 30
  • Day1 01.helloworld 02.基礎(chǔ)語法 03.變量 04.運算符 05.進(jìn)制轉(zhuǎn)換 01.hellow...
    zhazhaK丶閱讀 276評論 0 3
  • 實踐重于知識!“做到”才能“得到”栈戳! 【高級英才14天父母實踐打卡】第8天 一岂傲、肯定法(錄像機(jī)說話孩子做到的好的地...
    happy園閱讀 256評論 0 0
  • 生活對理性的人來說是喜劇,對感性的人來說是悲劇子檀。-霍勒斯.沃波爾 專家導(dǎo)讀:情緒失控具有危害性镊掖,就像脫韁的野馬,會...
    yhbred95閱讀 712評論 0 0
  • 我叫王琪褂痰,是一名馬上上初中的學(xué)生亩进。我愛幻想,直到有一天缩歪。镐侯。。 “琪琪驶冒,快起床苟翻!英語班要遲到啦!七點半了骗污!”我揉揉眼...
    你若走我不留閱讀 199評論 0 0