2018年6月25日筆記
python可以做什麼
多媒體應用、WEB開發、網絡爬蟲、人工智能與機器學習、資料分析處理、伺服器運維及其他小工具
知乎連結:
用python做一些有趣的事情python的程式設計準則
在PowerShell中,進入python的shell,然後運作指令import this,出現下圖所示。

python程式設計準則.png-17.4kB
下圖是上圖中英文的對照翻譯
python準則翻譯.png-84.1kB
python的中文編碼
python2中預設的編碼格式是ASCII格式,在沒修改編碼格式時無法正确列印漢字,是以在讀取中文時會報錯。
解決方法是為隻要在開頭加入: #-- coding:UTF-8 -- 或者 #coding=utf-8
注意#coding=utf-8的 = 号兩邊不要空格
python基本資料類型
7個基本資料類型:Number(數字)、String(字元串)、Bool(布爾值)、List(清單)、Tuple(元組)、Set(集合)、Dictionary(字典),最後補充一個不常見的資料類型None(空值)
基本資料類型.png-142.8kB
标準資料類型--None
None是一個特殊的常量
None和False不同
None不是0
None不是空字元串
None和任何其他的資料類型比較永遠傳回False
None有自己的資料類型NoneType
你可以将None複制給任何變量,但是你不能建立其他NoneType對象
标準資料類型--Number
整數類型int,最大2147483647
長整數類型long,超過2147483647的整數,比如百萬億條海量資料記錄
浮點數類型float,帶小數點的機關,比如商品價格
複數類型complex,虛數機關為j,例如3+4j
複數由實數部分和虛數部分構成,可以用a+ bj,或者complex(a,b)表達,複數的實部a和虛部b都是浮點型。
虛數圖示.png-0.8kB
資料類型可以用type内建函數獲得。
資料類型.png-1.7kB
标準資料類型--Bool
python中布爾值使用常量True和False來表示,注意大小寫。
在數學中使用的<>==等傳回的類型都是bool類型
bool類型經常在if和while中應用
标準資料類型--String
運作print('what's your name?')程式會報錯,解決方法如下:
1.雙引号裡面全部是單引号,單引号裡面全部是雙引号:print("what's your name?")
2.使用轉義字元:print('what's your name?')
變量
變量示例.png-7.7kB
上面代碼的運作結果:張三 20 男 抽煙,喝酒,燙頭,學習,娛樂,看電影
聲明變量
python作為一種的動态語言,它的變量可以随時改變資料類型,或者說變量的類型由我們所指派決定。
聲明變量示例.png-8.1kB
運作結果如下:
<class 'int'> <class 'float'> <class 'bool'> <class 'str'>
變量的本質
在python中,變量其實就是指某個記憶體空間,變量名相當于房間名,變量值相當于内容中的資料。
變量本質示例.png-5.6kB
1807280656
1807280656
1807280656
每次運作結果可能不同,因為每次運作時變量的值雖然相同,但是指向的記憶體空間卻可能不同。
變量名命名規範和使用
變量名可以包括字母、數字、下劃線,但是數字不能作為開頭
系統關鍵字不能做變量名使用
除了下劃線,其他符号不能作為變量名使用
python的變量名是區分大小寫的
系統常用關鍵字
and del from not while as elif
global or with assert else if pass
yield break except import print class exec
in raise continue finally is return def for lambda try
程式基本組成以及輸入輸出
python程式基本架構如下:
(1)程式初始化部分
(2)程式資料的輸入部分
(3)程式資料的處理部分
(4)程式資料的輸出部分
(5)程式結束部分
程式基本組成
程式當中的注釋:
單行注釋:以#開頭
多行注釋:用三單引号或三雙引号,Pycharm内可直接選擇多行ctrl+/
輸出--print的使用
str1 = '罰抄'
str2 = '3'
str3 = '遍'
print(str1 + str2 + str3)
print(str1,str2,str3,sep='')
上面兩種輸出方法輸出結果相同
print的使用--格式化輸出字元串
格式字:%d表示整數,%f表示浮點數,%s表示字元串
格式字圖示.png-11.8kB
上面代碼的運作結果是:
His name is LeiKun, his age is 18
His height is 1.74 m
print()在python3與python2中的差別
1.python3中print是一個内置函數,有多個參數,而python2中print是一個文法結構
2.python2列印時可以不加括号,python則必須加括号。
3.python2中,input要求輸入的字元串必須加引号,為了避免讀取非字元串類型發生的一些行為,不得不使用raw_input()代替input()
輸出--format
print語句中的格式化輸出源自于C語言的格式化輸出,這種文法對于C這種靜态語言比較使用,但是對于擁有很多先進資料結構的python來說就有點力不從心。如python的清單、元祖、字典、集合等不适合用這種結構表示。這些資料結構大多數元素用下标表示,這種結構中寫出來很混亂。
print()函數提供了有點類似于C#的格式化輸出函數format()。另外print()也相容原來的格式化輸出。
代碼示例:print("{} is {} years old".format("jack",20))
列印練習
if __name__ =="__main__":
print("============================")
print("歡迎進入到身份認證系統")
print("1.登入")
print("2.退出")
print("3.認證")
print("4.修改密碼")
print("============================")
輸入
在python3中用input函數預設接收的是str類型
在python2中用input函數預設接收的是int類型,raw_input接收的是str類型
作業
作業1-1.png-38.5kB
#a.請輸出"kelly"
print(li[2][1][1])
#b.請使用索引找到"all"元素并将其修改為"ALL"
li[2][2] = li[2][2].upper()
作業1-2.png-104.3kB
a.元祖的特性:
1.元組用索引定位
2.元祖可以切片
3.如果要連接配接元組和清單,需要先将清單轉化為元組
4.元組可以使用成員操作符in
b.如果進行指派,會報錯如下:TypeError: 'tuple' object does not support item assignment
是以tu變量中的元素不可以再被修改
c.k3對應的值是tuple元組類型,k3不可以被修改
d.k2對應的值是list清單類型,可以被修改,添加一個元素'Seven'代碼如下
tu[1][2]['k2'].append('Seven')
建立一個清單:info
1、存入1-10 10個資料
2、要求删除5号元素。
3、末尾添加11和12。
4、在0号位置插入-1。
5、通路1到5号位置上的元素
6、擷取目前清單的長度
info = list(range(1,11))
info.pop(5)
info.append(11)
info.append(12)
info.insert(0,-1)
for i in range(1,6):
print(info[i])
print(len(info))