花了2萬多買的Python教程全套,現(xiàn)在分享給大家,入門到精通(Python全棧)

可以整合出C++或java,它被稱為膠水語言
功能強大 搶票
數(shù)據(jù)分析
游戲開發(fā)
秒處理表格
開發(fā)于1989年
①跨平臺的計算機程序設(shè)計語言
②解釋型語言
③交互式語言
④面向?qū)ο笳Z言
⑤初學(xué)者最好的語言
首先是安裝python解釋器
www.python.org
屬性中看你的操作系統(tǒng)的類型(下載對應(yīng)的操作位數(shù))
zip可嵌入式壓縮文件
下載可執(zhí)行的安裝文件
簡單的可以寫在<<<后
復(fù)雜的必須新建代碼
重新寫要重新創(chuàng)造項目
Python模板 點出file 然后點settings 找出editor?
Editor當(dāng)中file and code temples 即是模板?
找python script 來編寫注釋
print()
?
5.輸出函數(shù)print P6 - 10:25
?
將展示物質(zhì)于IDIE和標(biāo)準(zhǔn)控制臺
?
①向計算機發(fā)出指令打印XXX
②把編碼編譯成計算機,能聽懂的繼續(xù)語言
③做出相應(yīng)的執(zhí)行,在控制臺上輸出結(jié)果
A
print會輸出①數(shù)字②字符串(必須加引號)③含有運算符的表達(dá)式(例如 3+1 其中3,1是操作數(shù),+是運算符)(進行運算)
B
print()函數(shù)還可以將內(nèi)容輸出的目的地
①顯示器
②文件 ?fp=open(‘D:/text.txt’,”a+”)
?????? ? ? ?print(‘helloworld‘,file=fp)
??????? ? ? fp.close()
①所指定的盤符存在②使用file=fp
C
print()函數(shù)的輸出形式
①換行
②不換行
不進行換行 要如print(‘hello’,’world‘,’Python‘)
轉(zhuǎn)義字符
?
6.轉(zhuǎn)義字符與原字符 P7 - 00:02
?
含義:反斜杠+想要實現(xiàn)的轉(zhuǎn)義功能首字母
?
\\--\
\’—'(使得‘成為輸出內(nèi)容)
?
\+轉(zhuǎn)義功能的首字母
換行:\n(newline)
回車:\r?(return)
如print(‘hello\rworld’) ????????在hello上輸出world
水平制表符:\t (tab)
如print(‘hello\tworld’) ????輸出 hello??world
而print(helloooo\tworld)??輸出helloooo??world
因為hell這四個字母成為一個字表位,o后\t 占用了其余三個
若是無剩余 則會新開一個字表位
退格:\b (backspace)
如print(‘hello\bworld’) ?????????退格輸出hellworld
*原字符:不希望字符串中轉(zhuǎn)義字符起作用,就會使用原字符,即在字符串上加上R或者r
如print(r‘hello\nworld’) ????????輸出hello\nworld
二進制與字符編碼
?
7.二進制與字符編碼 P8 - 00:01
?
8bit(位) — 1 byte (字節(jié))——256種狀態(tài)——256種符號
1024byte——1KB
1024KB——1MB
1024MB——1GB
1024GB——1TB

print(chr(0b100111001011000)——輸出‘乘‘
print(ord(’乘‘)——輸出十進制數(shù)
標(biāo)識符和保留字
?
8.Python中的標(biāo)識符和保留字 P9 - 03:16
?
保留字:被賦予了特殊意義,無法在對象起名中使用
如何查看?
新建 keyword.demo
import(導(dǎo)入) keyword
print(keyword.kwist) ? 輸出關(guān)鍵字列表(不需要掌握,系統(tǒng)會報錯)
變量/函數(shù)/類/模塊和其他對象 所起的名字叫做標(biāo)識符
規(guī)則
①字母、數(shù)字、下劃線
②不能以數(shù)字開頭
③不能是保留字
④須嚴(yán)格區(qū)分大小寫
變量的定義和使用
?
9.變量的定義和使用 P10 - 00:04
?
(可以改變的量)
name ? ? ? ?=?????? ? ? ? ? ?‘瑪麗亞’
變量名?賦值運算符?????值
變量? 標(biāo)識?id(name)
? ? ? ? 類型 type(name)
? ? ? ? 值??瑪麗亞

變量的多次賦值
?
10.變量的多次賦值 P11 - 00:02
?
多次賦值后變量會指向新的空間
name=‘瑪麗亞’(成為內(nèi)存垃圾)
name=‘楚留冰’(指向新的空間)
print(name)
程序輸出楚留冰
?
name=‘瑪麗亞’
print(name)
name=‘楚留冰’
print(name)
程序輸出瑪麗亞
? ? ? ? ?楚留冰
Python中常見的數(shù)據(jù)類型
?
11.Python中常見的數(shù)據(jù)類型 P12 - 00:02
?
變量三部分
標(biāo)識+類型+值
常用數(shù)據(jù)類型
整數(shù)類型—int ——98
浮點數(shù)類型——float ——3.1415926
布爾類型——bool——True 、False
字符串類型——str——人生苦短,我用Python
(加上引號就是)
整數(shù)類型
?
12.數(shù)據(jù)類型-整數(shù)類型 P13 - 00:09
?

英文為為integer,簡寫為int
可以表示正數(shù)、負(fù)數(shù)和零
整數(shù)不同進制的表示方式
十進制——默認(rèn)
二進制——以0b開頭
八進制——以0o開頭
十六進制——以0x開頭
n1=90
n2=-76
n3=0
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
輸出
90 <class, ‘str’>
-76 <class, ‘str’>
0 <class, ‘str’>
print(118)
print(0b10101111)
print(0o176)
print(0x1EAF)
輸出 118
??? ? ? 175
126
7855
浮點類型
?
13.數(shù)據(jù)類型_浮點類型 P14 - 00:01
?
浮點數(shù)由整數(shù)部分和小數(shù)部分組成
浮點數(shù)儲存具有不精確性質(zhì)
使用浮點數(shù)計算時,可以既可以出現(xiàn)小數(shù)位數(shù)的不精確的情況
?
a=314159
print(a,type(a))
輸出3.14159<class, ‘float’>
?
n1=1.1
n2=2.2
n3=2.1
print(n1+n2)
print(n1+n3)
輸出 3.3000000000003
???? ? ?3.2
?
解決方案導(dǎo)入模塊decimal
from decimal import Decimal
print(Decimal(‘1.1’) +Decimal(‘2.2’))
輸出3.3
布爾類型 bool(全稱Boolean)
?
14.數(shù)據(jù)類型_布爾類型 P15 - 00:04
?
用來表示真或假的值
Ture是真 False是假
布爾值可以轉(zhuǎn)化為整數(shù)
Ture——1 False——0
?
f1=True
f2=False
print(f1,type(f1))
print(f2,type(f2))
輸出True <class ‘bool’>
False <class ‘bool’>
?
print(f1+1)
print(f2+1)
輸出 2
? ? 1
?
字符串類型
?
15.數(shù)據(jù)類型_字符串類型 P16 - 00:05
?
①字符串又被稱為不可變的字符序列
②可以使用單引號,雙引號,三引號(‘’‘或者“”“)來定義
③單引號和雙引號定義的字符串必須在同一行
④三引號定義的字符串,可以分布在連續(xù)的多行
str1= ‘人生苦短 我用Python’
str2= “人生苦短 我用Python”
str3= ‘‘‘人生苦短
? ? ? 我用Python’’’
str1= “““人生苦短
? ? ? ?我用Python”””
?
輸出
人生苦短 我用Python
人生苦短 我用Python
人生苦短
我用Python
人生苦短
我用Python
類型轉(zhuǎn)換
str()函數(shù)——int()函數(shù)
?
16.類型轉(zhuǎn)換_str()函數(shù)與int()函數(shù) P17 - 00:09
?

name=‘ 張三’
age=20
print(type(name),type(age))
<class ‘str’> <class ‘int’>
print(‘我叫’+name+‘今年’+age+‘歲’)
報錯 (str無法與int連接)
?
修正 使用類型轉(zhuǎn)換
print(‘我叫’+name+‘今年’+str(age)+‘歲’)
(將int函數(shù)轉(zhuǎn)為str函數(shù))
輸出
我叫張三今年20歲
?
str()函數(shù)
a=10
b=198.8
c=False
print(type(a),type(b),type(c))
<class ‘int’><class ‘float’> <class ‘bool’>
print(str(a),str(b),str(c),type(a),type(b),type(c))
輸出
10 198.8 False <class ‘str’> <class ‘str’> <class ‘str’>
?
int()函數(shù)
s1= ‘128’
f1=98.7
s2= ’76.7’
ff=True
s3= ‘hello’
print(int(s1),type(int(s1)))
輸出128
*str—int 字符串為整數(shù)串
print(int(f1),type(int(f1)))
輸出98
*float—int 截取整數(shù)部分
print(int(s2),type(int(s2)))
報錯
*str是小數(shù)串便無法轉(zhuǎn)換成int
print(int(ff),type(int(ff)))
1
*bool—int
print(int(s3),type(int(s3)))
報錯
?*str—int 字符串必須是整數(shù)串
float()函數(shù)
?
17.類型轉(zhuǎn)換_float()函數(shù) P18 - 00:03
?
將其他數(shù)據(jù)轉(zhuǎn)成浮點數(shù)
①文字類無法轉(zhuǎn)成整數(shù)
②整數(shù)轉(zhuǎn)成浮點數(shù),末尾.0
s1= ‘128’
s2=‘76’
ff=True
s3= ‘hello’
i=98
?
print(type(s1),type(s2),type(ff), type(s3),type(i))
輸出?
<class ‘str’> <class ‘str’> ?<class ‘bool’> <class ‘str’> <class ‘int’>
?
print(float(s1),type(float (s1)))
128.0
print(float(s2),type(float (s2)))
76.0
print(float(ff),type(float (ff)))
1.0
print(float(s3),type(float (s3)))
報錯
print(float(i),type(float (i)))
98.0
Python中的注釋?
?
18.Python中的注釋 P19 - 00:05
?
增強可讀性且會被Python 忽略
含有三種類型的注釋
①單行注釋——以#開頭,直到換行結(jié)束
②多行注釋——一對三引號代碼 多行注釋
③中文編碼聲明注釋——在文件開頭 ?以指定源碼文件的編碼格式

第三章目錄
?
19.input函數(shù)的使用 P20 - 00:33
?

python的輸入函數(shù)input()
python中運算符
算術(shù)運算符
賦值運算符
比較運算符
布爾運算符
位運算符
運算符的優(yōu)先級

input()函數(shù)
?
19.input函數(shù)的使用 P20 - 00:04
?
作用——接收來自用戶的輸入
返回值類型——輸入值的類型為str
值的存儲——使用=對輸入值進行存儲
賦值運算符——將輸出的結(jié)果賦給變量present
present=input(‘大圣想要什么禮物呢’)
??變量 ? ? ?input()函數(shù)是個輸入函數(shù)
(需要輸入回答)
?
present=input(‘大圣想要什么禮物呢’)
print(present)
輸出
大圣想要什么禮物呢
再于輸出結(jié)果后回答定海神針
自動回答 大圣想要什么禮物呢
present=input(‘大圣想要什么禮物呢’)
print(present,type(present))
重復(fù)上一回答
輸出
大圣想要什么禮物呢
定海神針 <class 'str'>
input()函數(shù)的高級使用
?
20.input函數(shù)的高級使用 P21 - 00:05
?
a=input(‘請輸入一個加數(shù):’)
b=input(‘請輸入另一個加數(shù)’)
print(type(a),type(b))
print(a+b)
連接符
輸出?
請輸入一個加數(shù):10
請輸入另一個加數(shù):20
<class,’str’> <class ‘str’>
1020
a=int(input(‘請輸入一個加數(shù):’))
b=int(input(‘請輸入另一個加數(shù)’))
print(type(a),type(b))
print(a+b)
? ? ? ?算術(shù)運算符
請輸入一個加數(shù):10
請輸入另一個加數(shù):20
<class,’int’> <class ‘int’>
30
運算符

算術(shù)運算符
?
21.運算符_算術(shù)運算符 P22 - 00:27
?
分類為
標(biāo)準(zhǔn)算術(shù)運算符+取余運算符+冪運算符
(+、-、*、/ 整除//) ? ? ?% ? ? ? ? ? ? ? ? ? ?** ? ? ?
基本運算符 ? (輸出值用綠色)
print(1+1)2
print(1-1)0
print(2*4)8
print(11/2)5.5
print(11//2)5(整除取整)
print(11%2)1 (取余)
print(2**3)8(2*2*2)
一正一負(fù) 向下取整
print(9//4)-3
print(-9//-4)-3
print(9//-4)-3 ? ? ? ? 即為后文的商
print(-9//4)-3
print(9%4)1
print(9%-4)3 (余數(shù)=被除數(shù)-除數(shù)*商)
print(-9%4)-3
賦值運算符
?
22.運算符_賦值運算符 P23 - 00:10
?
賦值運算符 運算順序從左到右
i=3+4
print(i)
7
支持鏈接賦值
a=b=c=20
print(a,id(i),b,id(b),c,id(c))
20 14645450672
20 14645450672
20 14645450672
支持參數(shù)賦值
+=、-=、*=、/=、//=、%=
a=20
a+==30
print(a) 50
a-=10
print(a)40
a*=2
print(a)
print(type(a)) ?80 <class 'int' >
a/=3
print(a)
print(type(a)) ? 26.66666666668 <class 'float'>
a//=2
print(a)
print(type(a)) ? 13.0 <class 'float' >
a%=3
print(a) ? ? ? ? ? ?1.0
支持系列解包賦值
a,b,c=20,30,40
print(a,b,c)
20 30 40
a,b=20,30,40
print(a,b)
報錯
交換兩個變量
a,b=10,20
print(‘交換之前:’,'a,b')
a,b=b,a
print('交換之后:‘,'a,b')
交換之前:10,20
交換之后:20,10
比較運算符
?
23.運算符_比較運算符 P24 - 00:11
?
①>, <,>=,<=,!=
②== ? ? ? ? ? ? ? ? ?對象value的比較
③is,is not ? ? ? ? ?對象id的比較
a,b=10,20
print('a>b嗎?',a>b)
print('a<b嗎?',a<b)
print('a<=b嗎?',a<=b)
print('a>=b嗎?',a>=b)
print('a==b嗎?',a==b)
print('a!=b嗎?',a!=b)
a>b嗎?False
a<b嗎?True
a<=b嗎?True
a>=b嗎?False
a==b嗎?False
a!=b嗎?True
=成為賦值運算符 ==比較運算符
變量= 標(biāo)識+類型+值
== ? ? ? ? ? ? ? ? ?對象value的比較
is,is not ? ? ? ? ?對象id的比較
a=10
b=10
print=(a==b)
print=(a is b)
True
True
lst1 [11,22,33,44]
lst2 [11,22,33,44]
print(lst1==lst2)
print(lst1 is lst2)
print(id(lst1))
print(id(lst2))
print(a is not b)
print(lst1 is not lst2)
True
False
2525441564
2525665484
False
True
布爾運算符
?
24.運算符_布爾運算符 P25 - 00:24
?

and/or/not/in/not in
and
a,b=1,2?
print(a==1 and b==2) *True and True=True
True
print(a==1 and b<2) *False and True=False
False
print(a!=1 and b==2) *False and True=False
False?
print(a!=1 and b!=2) *False and False=False
False
?
?or
print(a==1 or b==2) *True orTrue=True
True
print(a==1 or b<2) *False or True=True
False
print(a!=1 or b==2) *False or True=True
False
print(a!=1 and b!=2) *False or False=False?
False
not(針對布爾類型)
f=True
f2=False
print(not f) ?False
print(not f2) True
in/not in
s='helloworld'
print('w' in s ) ?True
print('k' in s ) ?False
print('w' not in s) ?False
print('k'not in s) ?True
位運算符號
?
25.運算符_位運算 P26 - 00:11
?
將數(shù)據(jù)轉(zhuǎn)成二進制進行計算

位與&(對應(yīng)數(shù)位都是1,結(jié)果數(shù)位才是1,否則為0)
4的二進制 00000100
8的二進制 00001000
? ? ? 4&8 ? ?00000000 ?—— 0
print(4&8)0
位或 |(對應(yīng)數(shù)位都是0,結(jié)果數(shù)位才是0,否則為1)
4的二進制 00000100
8的二進制 00001000
? ? ? ?4|8 ? ?00001100 —12
print(4|8)12
左移位運算符<< (高位溢出舍棄,低位補0)
4的二進制 00000100
左移位 ? ? 000001000 —8(向左移動以為相等于*2)
右移位運算符<< (低位截斷,高位補0)
4的二進制 00000100
右移位 ? ? ?000001000 — 2(向右移動以為相等于/2)
print (4<<1)
print (4<<2)
8
16
運算符的順序
?
26.運算符的優(yōu)先級 P27 - 03:53
?
①**
②*、/、//、% ? A 賦值運算符
③+、-
④<<、>>
⑤& ? ? ? ? ? ? ?B 位運算符
⑥|
⑦>、< 、>=、<=、==、!= ? ?C 比較運算符
⑧and
⑨or ? ? ? ? ? D 布爾運算符
⑩= ? ? ? ? ? ? E 賦值運算符
知識點總結(jié)

下一章節(jié)引入

程序的組織結(jié)構(gòu)
?
27.程序的組織結(jié)構(gòu)_順序結(jié)構(gòu) P28 - 00:40
?
任何簡單或者復(fù)雜的算法
可以由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)組成
if語句 ? ? ? ? while for-in語句
順序結(jié)構(gòu)
程序開始-代碼1-代碼2-代碼3……代碼N——程序結(jié)束
單擊左鍵
可以在(每)一句打上斷點 在向下運行觀察程序結(jié)構(gòu)
對象的布爾值
?
28.對象的布爾值 P29 - 00:08
?
Python一切為對象 所有對象都有一個布爾值
獲取對象的布爾值
使用內(nèi)置函數(shù)bool()
以下對象的布爾值為False
*False
*數(shù)值0/0.0
*空字符串(’‘ ” “)
*空列表([ ] / list() )
*空元組(tuple() / () )
*空字典 ({ } / dict() ?)
*空集合 ( set())
除了以上的對象 都是True
選擇結(jié)構(gòu)
程序根據(jù)判斷條件的布爾值選擇性地執(zhí)行部分代碼
明確的讓計算機知道在什么條件、該去做什么?

單分支結(jié)構(gòu)
?
29.分支結(jié)構(gòu)_單分支結(jié)構(gòu) P30 - 02:33
?

中文語義:如果……就……
語法結(jié)構(gòu):if ?條件表達(dá)式
條件執(zhí)行體
money=1000
s=int(input(’請輸入取款金額:‘))
if money>=s
? money=money-s (縮進)
? print(’取款成功,余額為:‘,money)
請輸入取款金額:200
取款成功,余額:800
請輸入取款金額:1200 (無結(jié)果)
雙分支結(jié)構(gòu)
?
30.分支結(jié)構(gòu)_雙分支結(jié)構(gòu) P31 - 01:04
?

中文語義:如果…不滿足…就
語法結(jié)構(gòu):if ?條件表達(dá)式:
條件執(zhí)行體1
else:
條件執(zhí)行體2
num=int(input('請輸入一個整數(shù)'))
if num%2==0:
? print(num,'是偶數(shù)’)
else:
? print(num,'是奇數(shù)')
請輸入一個整數(shù):6
6 是偶數(shù)
請輸入一個奇數(shù):7
7 是奇數(shù)
多分支結(jié)構(gòu)
?
31.分支結(jié)構(gòu)_多分支結(jié)構(gòu) P32 - 01:23
?

中文語義: ……是……? 不是
……是……? 不是
……是……? 不是
……是……? ? 不是
……是……? 是
語法結(jié)構(gòu):
if 條件表達(dá)式1:
條件執(zhí)行體1
elif 條件表達(dá)式2:
條件執(zhí)行體2
elif 條件表達(dá)式N:
條件執(zhí)行體N
[else:]
條件執(zhí)行體N+1
(elif=else if)
類型1
if score>=90 and score<= 100
? print('A級')
elif score>=80 and score<= 89
? print('B級')
elif score>=70 and score<= 79
? print('C級')
elif score>=60 and score<= 69
? print('D級')
elif score>=0 and score<= 60
? print('E級')
else:
? ? print('對不起,成績有誤,不在成績的有效范圍')
類型2 ?(Python語言獨有方式)
if 90<= and score<= 100
? print('A級')
elif 80<= score<= 89
? print('B級')
elif 70<= score<= 79
? print('C級')
elif 60<=score<= 69
? print('D級')
elif 0<=score<= 60
? print('E級')
else:
? ? print('對不起,成績有誤,不在成績的有效范圍')
輸出效果:
請輸入一個成績:98
A級
請輸入一個成績:180
對不起,成績有誤,不在成績的有效范圍
嵌套if
?
32.分支結(jié)構(gòu)_嵌套if的使用 P33 - 00:02
?

語法結(jié)構(gòu):
if 條件表達(dá)式1:
?if 內(nèi)層條件表達(dá)式:
內(nèi)存條件執(zhí)行體1
else:
內(nèi)存條件執(zhí)行體2
else:
條件執(zhí)行體
answer=input(‘您是會員嗎?y/n’)
money=float(input(‘請輸入您的購物金額:’))
if answer=‘y’
? if money>=200
? ? ?print('打八折,付款金額為:',money*0.8)
? elif money>=100
? ? ?print(‘打九折,付款金額為:’,money*0.9)
? else:
? ? ?print(‘不打折,付款金額為:’money)
else:
?if money>=200
? ? ?print('打九五折,付款金額為:',money*0.95)
?else:
? ? ?print(‘不打折,付款金額為:’money)
您是會員嗎?y/n ?y
請輸入您的購物金額: 120
打九折,付款金額為:108
條件表達(dá)式
?
33.條件表達(dá)式 P34 - 00:37
?
條件表達(dá)式是if……else(簡寫)
語法結(jié)構(gòu):
if 判斷條件 else y
運算規(guī)則
如果判斷條件的布爾值為True,條件表達(dá)式的返回值為x,否則條件表達(dá)式的返回值為False
num_a=int(input('請輸入第一個整數(shù)'))
num_b=int(input('請輸入第二個整數(shù)'))
'''
if num_a>=num_b
? print(num_a,'大于等于',num_b)
else:
? ?print(num_a,'小于‘,num_b)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'''
print(’輸入條件表達(dá)式進行比較‘)
True------條件判斷-
print(str(num_a)+'大于等于'+str(num_b) if num_a ? ? ? ------------False
>=num_b else str(num_a)+'小于'+str(num_b))
請輸入第一個整數(shù):10
請輸入第二個整數(shù):20
使用條件表達(dá)式進入比較
10小于20
Pass語句
?
34.pass語句 P35 - 00:35
?
語句什么都不做,只是一個占位符,用在需要語句的地方
使用時間:先搭建語法結(jié)構(gòu),還沒好代碼怎么寫的時候
配套使用:
*if 語句的條件執(zhí)行體
*for--in語句的循環(huán)體
*定義函數(shù)的函數(shù)體
answer=input(’您是會員嗎?y/n‘)
if answer='y'
pass
else
pass
(搭建結(jié)構(gòu))
總結(jié)

age=int(input(’請輸入您的年齡:‘))
if age
? print(age)
else
? print('年齡為:',age)
請輸入您的年齡:18
18 ? ? ? ? ? ? ? ? ? ? ? *18的布爾值是True
請輸入您的年齡:0
年齡為:0 ? ? ? ? ? *0的布爾值是False
range 函數(shù)的使用
?
35.range函數(shù)的使用 P36 - 00:06
?
課前介紹

內(nèi)置函數(shù)(系統(tǒng)自帶,無需下載任何模板)
range()

創(chuàng)建range()的三種方式
①range(stop)——創(chuàng)建一個以(0,stop)之間的整數(shù)序列,步長為1
r=range(10)
print(r)
print(list(r)) ? ? ? ? *用于查看range對象中的整數(shù)序列
range(0,10) ?*結(jié)果是一個迭代器對象
[0,1,2,3,4,5,6,7,8,9] ? *默認(rèn)從零開始
②range(start,stop)----創(chuàng)建一個(start,stop)之間的整數(shù)序列,步長為1 ?
r=range(1,10)
print(list(r))
[1,2,3,4,5,6,7,8,9]
③range(start,stop,step)----創(chuàng)建一個(start,stop)之間的整數(shù)序列,步長為step
r=range(1,10,2)
print(list(r))
[1,3,5,7,9]
in與not in判斷整數(shù)序列中是否存在(不存在)指定的整數(shù)
print(10 in r)
print(9 in r)
print(10 not in r)
print (9 not in r)
False
True
True
False
優(yōu)點:不論range中的整數(shù)序列有多長,占有的內(nèi)存空間是一樣的。只有計算時,才會計算相關(guān)元素
循環(huán)結(jié)構(gòu)
?
36.while循環(huán) P37 - 00:25
?

循環(huán)的分類:
*while
? ? ? ? ? ? ? ? ? *for-in
語法結(jié)構(gòu):
while 條件表達(dá)式
條件執(zhí)行體(循環(huán)體)
選擇結(jié)構(gòu)的if 與循環(huán)結(jié)構(gòu)while的區(qū)別
if是判斷一次,條件為True執(zhí)行一行
while是判斷N+1次,條件為True執(zhí)行N次
a=1
if a<10:
? print (a)
? a+=1
1
2
a=1
while a<10:
? print (a)
? a+=1
1
2
3
4
5
6
7
8
9
四步循環(huán)法
①初始化變量
②條件判斷
③條件執(zhí)行體(循環(huán)體)
④改變變量
*while的循環(huán)的執(zhí)行流程

*計算0--4之間的累加和
sum=0
*初始變量為0
a=0
*條件判斷
while a<5:
*條件執(zhí)行體(循環(huán)體)
?sum+=a
*改變變量
?a+=1
print('和為',sum)
和為10
while練習(xí)題
?
37.whil練習(xí)題_1到100之間的偶數(shù)和 P38 - 00:49
?
1--100的偶數(shù)和
sum=0
*初始變量為0
a=1
*條件判斷
while a<100:
*條件執(zhí)行體(循環(huán)體)
if a%2==0
? sum+=0
*改變變量
a+=1
print(’1--100之間的偶數(shù)和‘,sum)
print('和為',sum)
1--100之間的偶數(shù)和 2550
1--100的奇數(shù)和
sum=0
a=1
while a<100:
if a%2: ? ? ? ? ? ? ? ? ? ? ? ? ? ? *0是False,奇數(shù)進行
? sum+=0
a+=1
1--100之間的偶數(shù)和 2500
for--in循環(huán)
?
38.for_in循環(huán) P39 - 00:33
?
*in 表達(dá)從(字符串、序列等)中依次取值,又稱遍歷
*for--in 遍歷的對象必須是可迭代對象
for--in的語法結(jié)構(gòu)
for 自定義的變量 in 可迭代對象
?循環(huán)體
for--in 執(zhí)行圖

for item in ‘Python’:
? ? print (item)
P
y
t
h
o
n
*range()產(chǎn)生的整數(shù)序列,也是一個可迭代對象
for i in range(10):
? ? print()
0
1
2
3
4
5
6
7
8
9
*不使用變量,可將添加 ?"_"
for _ in range(5) ? ? ? ? ? ?*循環(huán)5次
? ?print('人生苦短,我用Python')
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
人生苦短,我用Python
print(使用for循環(huán),計算1到100之間的偶數(shù)和)
sum=0
for item in range(1,101):
? ? if item%2==0:
? ? ? ?sum+=item
for--in循環(huán)練習(xí)題
100到999的水仙花數(shù)
?
39.for_in練習(xí)題_100到999之間的水仙花數(shù) P40 - 00:13
?
水仙花數(shù)
每個位數(shù)的三次方的和與之相等
153=3^3+5^3+1^3
for item in range(100,1000):
? ?ge=item%10
? ?shi=item//10%10
? ?bai=item//10
if ge**3+shi**3+bai**3==item:
? ? print(item)
153
370
371
407
流程控制語句break
break語句
?
40.流程控制語句break P41 - 00:42
?
(非正常結(jié)束循環(huán))

for item in range(3):
? pwd=input(’請輸入密碼:‘)
? if pwd=’8888‘:
? ? ? print(’密碼正確‘)
? ? ? break
?else:
? ?print(’密碼不正確‘)
請輸入密碼:8888
密碼正確
請輸入密碼:4803
密碼不正確
請輸入密碼:4803
密碼不正確
請輸入密碼:4803
密碼不正確
a=0
while a<3:
? pwd=input(' 請輸入密碼')
? if pwd ='8888'
? print('密碼正確')
else
? print('密碼不正確')
a+=1
請輸入密碼:8888
密碼正確
請輸入密碼:4803
密碼不正確
請輸入密碼:4803
密碼不正確
請輸入密碼:4803
密碼不正確
流程控制語句continue
?
41.流程控制語句continue P42 - 00:39
?
continue 語句
用于結(jié)束當(dāng)前循環(huán),進入下一次循環(huán),通常與分支結(jié)構(gòu)的if一起使用
for item in range(1,11)
? if item%5==0
? ? ? print(item)
5
10
for item in range(1,11)
?if item%5!=0:
? ?continue
print(item)
5
10
else 語句
?
42.8else語句 P43 - 00:02
?

①if else ——if 條件不成立時執(zhí)行else
②while else—— 沒有碰到break 執(zhí)行else
③for else —— 沒有碰到break 執(zhí)行else
for item in range(3)
? pwd=input('請輸入密碼')
?if pwd='8888'
? ?print('密碼正確')
? ? break
else:
? ?print('密碼不正確')
?a+=1
else:
? ?print(‘對不起,三次密碼均輸入錯誤’)
請輸入密碼:8888
密碼正確
請輸入密碼:4803
密碼不正確
請輸入密碼:4803
密碼不正確
請輸入密碼:4803
密碼不正確
對不起,三次密碼均輸入錯誤
嵌套循環(huán)
?
43.嵌套循環(huán) P44 - 00:38
?

嵌套循環(huán)
*循環(huán)結(jié)構(gòu)中又嵌套了另外的完整循環(huán)結(jié)構(gòu),其中內(nèi)層循環(huán)做為外層循環(huán)的循環(huán)體執(zhí)行
for i in range(1,4):
?for j in range (1,5)
? ? ?print('*',end='\t')
print()
****
****
****
for i in range(1,10):
?for j in range (1,i+1):
? ? ?print('*',end='')
print()
*
**
***
****
*****
******
*******
********
*********
for i in range(1,10):
?for j in range (1,i+1):
? ? ?print(i,'*',j,'=',i*j,end='')
print()
九九乘法表 略
二重循環(huán)中的
break和continue
?
44.二重循環(huán)中的break與continue P45 - 00:05
?
二重循環(huán)中的break和continue用于控制本層循環(huán)

for i in range(5):
?for j in range (1,11):
? ?if j%2==0
? ? break
? ?print(j)
1
1
1
1
1
for i in range(5):
for j in range (1,11):
if j%2==0
continue
? ?print(j,end='\t')
print()
1 3 5 7 9
1 3 5 7 9
1 3 5 7 9
1 3 5 7 9
1 3 5 7 9
總結(jié)

列表

為什么需要列表
?
45.為什么需要列表 P46 - 01:08
?

*變量可以存儲一個元素,而列表是一個“大容器”可以存儲N個元素,程序可以方便地對這些數(shù)據(jù)進行整體操作
*列表相當(dāng)于其他語言的數(shù)組
a=10
lst['hello','world',98]
print(id(lst))'
print(type(lst))
print(lst)
2546466131
<class,'list'>
['hellp','world','98']
內(nèi)存示意圖

列表的創(chuàng)建
?
46.列表對象的創(chuàng)建 P47 - 00:59
?

列表需要使用中的括號[ ] ,元素之間用英文的逗號分開
①使用方括號
lst=['hello','world',98]
②使用內(nèi)置函數(shù)list()
lst2=list(['hello','world',98])
列表的特點
?
47.列表的特點 P48 - 01:04
?

①列表元素按順序有序排序
lst=['hello','world',98]
print(lst)
[‘hello’ ‘world’ 98]
②索引映射唯一個數(shù)據(jù)
lst=['hello','world',98]
print(lst[0],lst[-3])
hello hello
③列表可以存儲重復(fù)數(shù)據(jù)
lst=['hello','world',98,'hello']
print(lst[0],lst[-4])
hello hello
④任意的數(shù)據(jù)類型混存
見上
⑤根據(jù)需要動態(tài)分配和回收內(nèi)存