一糯钙、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颠放、特點
-
易于學(xué)習(xí)
Python有相對較少的關(guān)鍵字碰凶,結(jié)構(gòu)簡單欲低,和一個明確定義的語法砾莱,學(xué)習(xí)起來更加簡單
-
易于閱讀
Python代碼定義的更清晰
-
易于維護(hù)
Python的成功在于它的源代碼是相當(dāng)容易維護(hù)的
-
一個廣泛的標(biāo)準(zhǔn)庫
Python的最大的優(yōu)勢之一是豐富的庫恤磷,跨平臺的,在UNIX匈子,Windows和Macintosh兼容很好
-
互動模式
互動模式的支持虎敦,您可以從終端輸入執(zhí)行代碼并獲得結(jié)果的語言其徙,互動的測試和調(diào)試代碼片斷
-
可移植
基于其開放源代碼的特性喷户,Python已經(jīng)被移植(也就是使其工作)到許多平臺
-
可擴(kuò)展
如果需要一段運行很快的關(guān)鍵代碼褪尝,或者是想要編寫一些不愿開放的算法河哑,你可以使用C或C++完成那部分程序璃谨,然后從你的Python程序中調(diào)用
-
數(shù)據(jù)庫
Python提供所有主要的商業(yè)數(shù)據(jù)庫的接口
-
GUI編程
Python支持GUI可以創(chuàng)建和移植到許多系統(tǒng)調(diào)用
-
可嵌入
你可以將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蚀浆、方向
-
Linux運維
Linux運維是必須而且一定要掌握Python語言缀程,Python是一門非常NB的編程語言,它可以滿足Linux運維工程師的工作需求提升效率市俊,總而提升自己的能力杨凑,運維工程師需要自己獨立開發(fā)一個完整的自動化系統(tǒng)時摆昧,這個時候才是真正價值的體現(xiàn)撩满,才能證明自身的能力,讓老板重視。
-
Python Web網(wǎng)站工程師
我們都知道Web一直都是不可忽視的存在伺帘,我們離不開網(wǎng)絡(luò)昭躺,離不開Web,利用Python的框架可以做網(wǎng)站曼追,而且都是一些精美的前端界面窍仰,還有我們需要掌握一些數(shù)據(jù)的應(yīng)用。
-
Python自動化測試
大家都知道礼殊,就是Python語言對測試的幫助是非常大的驹吮,自動化測試中Python語言的用途很廣,可以說Python太強(qiáng)大晶伦,掌握和熟悉自動化的流程碟狞,方法和我們總使用的各個模板,到現(xiàn)在為止婚陪,我了解的Python使用最多的應(yīng)該是自動化測試族沃。
-
數(shù)據(jù)分析
我們都知道現(xiàn)在來臨了大數(shù)據(jù)的時代,數(shù)據(jù)可以說明一切問題的原因泌参,現(xiàn)在很多做數(shù)據(jù)分析的不是原來那么簡單脆淹,Python語言成為了做數(shù)據(jù)分析師的第一首選,它同時可以給工作帶來很大的效率沽一。
-
人工智能
我們都知道谷歌制作出了的機(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)
-
十六進(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)
注意:
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)制
把150轉(zhuǎn)換為8進(jìn)制
把159轉(zhuǎn)換為 16進(jìn)制
159倒除16 取余數(shù) 同上
-
有一個八進(jìn)制數(shù) 226 十進(jìn)制數(shù)為 150
226怎樣轉(zhuǎn)換為10進(jìn)制
2*8的n次方 和2進(jìn)制轉(zhuǎn)換一樣
-
有一個十六進(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有倆個版本
python3.6
python2.7
只有 0.3%是不相同的 print() print ""
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快捷鍵
- calc 計算器
- notepad 記事本
- mspaint 畫圖工具
- cmd windows終端
五、文件常用后綴
-
.py
python文件 -
.html/.htm
html文件 -
.css
css樣式文件 -
.js
js代碼的文件 -
.php
PHP文件 -
.sql
SQL文件
六形葬、變量的命名規(guī)則
使用外文
嚴(yán)格區(qū)分大小寫
-
不能使用關(guān)鍵字
-
查看關(guān)鍵字的方式
import keyword
print(keyword.kwlist)
-
-
統(tǒng)一使用小駝峰的命名規(guī)則
-
myName
classMethod = '小駝峰' #變量名 函數(shù)名 使用小駝峰 ClassMethod = '大駝峰' #類名統(tǒng)一使用大駝峰
-
由數(shù)字字母下劃線組成 不能以數(shù)字作為開頭
見名知意
注意代碼的縮進(jìn)
注意:
在python中 語句的結(jié)尾分號 可有可無 但是建議不加
如果多行語句 寫在一行的時候 必須添加 作為當(dāng)前語句的結(jié)束
七合呐、變量的賦值
(1) 單一賦值
變量名 = 值
(2) 統(tǒng)一賦值
多個變量為同一個值
變量1 = 變量2 ... = 值
(3) 對稱賦值
變量1,變量2... = 值1,值2...
注意:
- Python的每句語句的結(jié)束 分號可加可不加
- 多條語句寫在一行必須加分號
八、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)
九猖腕、代碼的注釋
作用:
- 代碼的調(diào)試
- 解釋說明
注意:
被注釋的代碼和內(nèi)容 不會被解析
每個語言都有自己的注釋 寫法上可能不同 但是作用一樣
比如:
HTML的注釋
css 的注釋 /*注釋的內(nèi)容*/
python注釋:
(1) 單行注釋
語法: #
#單行注釋 被注釋的代碼和內(nèi)容 不會被解析
(2) 多行注釋
“”“注釋內(nèi)容"""
'''注釋內(nèi)容'''
實例:
"""
print('Hello World')
print('Hello World')
print('Hello World')
"""
注意:
- 單行注釋可以嵌套單行注釋
- 多行注釋可以嵌套單行注釋
- 多行注釋不可以嵌套多行注釋 但是如果嵌套的多行注釋中沒有存在其他的內(nèi)容 則可以 因為此刻為倆個多行注釋
十拆祈、變量的刪除del
del 變量名
實例
num = 1
num2 = 2
del num #刪除變量num
del num,num2 #刪除多個變量
print(num)
案例
import os
command = str(input("輸入命令"))
os.system(command)