Python語言程序設(shè)計重點(diǎn)

知識點(diǎn)及例題

1.變量名命名規(guī)則

1)首字母必須是字母或者下劃線;
2)其余字符可以是字母、下劃線或者是數(shù)字稠茂;
3)區(qū)分大小寫。
:pi情妖、PI睬关、_cat

2.基本運(yùn)算符的用法和運(yùn)算結(jié)果

1)算術(shù)運(yùn)算符:包括加、減毡证、乘电爹、除和求余數(shù)等。是最基礎(chǔ)的運(yùn)算料睛。

運(yùn)算符 功能 舉例
** 乘方 3**2結(jié)果是9
+ 正號(一般省略不寫丐箩,單目運(yùn)算符) +5即5
- 負(fù)號(單目運(yùn)算符) -5
* 乘法 3*2結(jié)果是6
/ 除法(真正的除法) 3/2和3.0/2.0結(jié)果都是1.5
// 整除(地板除) 5//2結(jié)果是2摇邦,結(jié)果類型是整形;5.9//2結(jié)果是2.0屎勘,結(jié)果類型是浮點(diǎn)型
% 取余 5%2結(jié)果是1
+ 加法 3+2結(jié)果是5
- 減法 4-3結(jié)果是1

優(yōu)先級:**> +-(正施籍、負(fù)號)> *、/概漱、//丑慎、%> +、-(加犀概、減號)。(可以在外面加上圓括號提升優(yōu)先級)
2)位運(yùn)算符:只適用于整數(shù)夜惭。就是按整數(shù)的二進(jìn)制位進(jìn)行運(yùn)算姻灶。

運(yùn)算符 功能 舉例
~ 取反(按位取反) ~1結(jié)果為-2
<< 左移 16<<2結(jié)果是64
>> 右移 16>>2結(jié)果是4
& 64&15結(jié)果是0
(豎線) 64(豎線)15結(jié)果是79
^ 異或 64^14結(jié)果是78

3)關(guān)系運(yùn)算符:包括大于、小于和等于等诈茧。用于比較兩個對象的大小产喉。

運(yùn)算符 功能 舉例
< 小于 5<3結(jié)果是False
> 大于 5>3結(jié)果是True
<= 小于等于 2.4<=8.7結(jié)果是True
>= 大于等于 2.4>=8.7結(jié)果是False
== 等于 2==2結(jié)果是True
!= 不等于 2!=3結(jié)果是True

關(guān)系運(yùn)算符的運(yùn)算順序是從左往右,結(jié)果是布爾型值True或False敢会≡颍可以對數(shù)值進(jìn)行比較,也可以對字符串進(jìn)行比較鸥昏。數(shù)值比較時按值的大小進(jìn)行比較塞俱,字符串的比較則是按ASCII碼值的大小進(jìn)行比較,特別是字符數(shù)超過1時,要按照關(guān)系運(yùn)算符左右兩邊的字符串從第1個字符開始依次對對應(yīng)位置的字符進(jìn)行比較吏垮。
特別地障涯,Python中可以用“3<4<7”表示數(shù)學(xué)中的聯(lián)系不等式。
4)邏輯運(yùn)算符:用于條件比較復(fù)雜的情況膳汪。

運(yùn)算符 功能 舉例
not True結(jié)果是False
and True and False結(jié)果是False
or True or False結(jié)果是True

結(jié)果都是布爾型值True或False唯蝶。
優(yōu)先級:not>and>or。
提示:邏輯運(yùn)算有一個稱之為短路邏輯的特性:邏輯運(yùn)算符的第2個操作數(shù)有時會被“短路”,實(shí)際這是為了避免無用地執(zhí)行代碼遗嗽。
優(yōu)先級:算術(shù)運(yùn)算符>位運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符粘我,但按位取反運(yùn)算符“~”的優(yōu)先級位于算術(shù)運(yùn)算符的正負(fù)號“+、-”和乘方“**”之間痹换。

3.控制結(jié)構(gòu)有幾種征字?break和continue的用法

1)順序結(jié)構(gòu):是最簡單的算法結(jié)構(gòu),算法中列出的操作步驟是順序執(zhí)行的娇豫,操作的排列順序與執(zhí)行順序一致柔纵,每個操作能且僅能被執(zhí)行一次。
2)選擇結(jié)構(gòu):是根據(jù)條件判斷的結(jié)果控制不同分支執(zhí)行的算法結(jié)構(gòu)锤躁,也稱為條件結(jié)構(gòu)搁料。
①if語句

if 表達(dá)式:
  語句序列

執(zhí)行時先計算表達(dá)式的值或详,若結(jié)果為True,則執(zhí)行內(nèi)嵌語句序列郭计;否則霸琴,不執(zhí)行任何語句。這種形式稱為單分支結(jié)構(gòu)昭伸。
②else子句

if 表達(dá)式:
  語句序列1
else:
  語句序列2

執(zhí)行時先計算表達(dá)式的值梧乘,若結(jié)果為True,則執(zhí)行語句序列1庐杨;否則选调,執(zhí)行語句序列2。這種形式稱為兩路分支結(jié)構(gòu)灵份。
提示:if-else兩路分支結(jié)構(gòu)中仁堪,else必須與if對齊,并且它們所在語句的后面必須帶上冒號填渠。
在Python中也可以用專門的條件表達(dá)式(也稱三元運(yùn)算符)來實(shí)現(xiàn)弦聂。

x if c else y

執(zhí)行過程為先計算表達(dá)式c(條件),若條件為真氛什,則返回x(正確)莺葫;否則,返回y(錯誤)枪眉。
注意:條件表達(dá)式在Python的所有運(yùn)算符中優(yōu)先級最低捺檬。
③elif子句

if 表達(dá)式1:
  語句序列1
elif 表達(dá)式2:
  語句序列2
elif 表達(dá)式2:
  語句序列2
······
elif 表達(dá)式N-1:
  語句序列N-1
else:
  語句序列N

elif是“else if”的縮寫。執(zhí)行時先計算表達(dá)式1的值贸铜,若結(jié)果為True欺冀,則執(zhí)行語句序列1;否則萨脑,計算表達(dá)式2隐轩,若結(jié)果為True,則執(zhí)行語句序列2渤早,以此類推职车,若表達(dá)式1至表達(dá)式N-1的計算結(jié)果都為False,則執(zhí)行else部分的語句序列N鹊杖。這種形式稱為多分支結(jié)構(gòu)悴灵。
④嵌套的if語句

if 表達(dá)式1:
  if 表達(dá)式2:
    語句序列1
  else:
    語句序列2
else:
  if 表達(dá)式3:
    語句序列3
  else:
    語句序列4

注意:嵌套的if結(jié)構(gòu)要特別注意else與if的匹配,Python中基于縮進(jìn)匹配if和else骂蓖。
3)循環(huán)結(jié)構(gòu):是滿足一個指定的條件积瞒,每次使用不同的數(shù)據(jù)對算法中的計算或處理步驟完全相同的部分重復(fù)計算若干次的算法結(jié)構(gòu),也成為重復(fù)結(jié)構(gòu)登下。
①while語句

while 表達(dá)式:
  語句序列

執(zhí)行時計算(條件)表達(dá)式的值茫孔,當(dāng)給定的條件成立叮喳,即表達(dá)式的結(jié)果為True時,執(zhí)行語句序列(循環(huán)體)缰贝,繼續(xù)判斷表達(dá)式的值是否為True馍悟,若是,則繼續(xù)執(zhí)行循環(huán)體剩晴,如此周而復(fù)始锣咒,直到表達(dá)式的值為False或發(fā)生異常時停止循環(huán)的執(zhí)行。
注意點(diǎn):
Ⅰwhile語句是先判斷再執(zhí)行赞弥,所以循環(huán)體有可能一次也不執(zhí)行毅整。
Ⅱ循環(huán)體中需要包含能改變循環(huán)變量值的語句,否則绽左,若表達(dá)式的結(jié)果始終是True悼嫉,則會造成死循環(huán)。
Ⅲ要注意語句序列的對齊, while語句只執(zhí)行其后一條或一組同一層次的語句妇菱。

②for語句

for 變量 in 可迭代對象:
  語句序列

執(zhí)行時變量取可迭代對象中的一個值承粤,執(zhí)行語句序列暴区,再取下一個值1闯团,繼續(xù)執(zhí)行語句序列。
③嵌套循環(huán)
一個循環(huán)語句的循環(huán)體也可以是另一個循環(huán)語句仙粱,內(nèi)層循環(huán)語句的循環(huán)體還可以是一個循環(huán)語句房交。這種一個循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)包含另一個或多個循環(huán)結(jié)構(gòu)被稱為嵌套循環(huán),也稱為多重循環(huán)伐割,其嵌套層數(shù)視問題復(fù)雜程度而定候味。while語句和 for語句可以嵌套自身語句結(jié)構(gòu),也可以相互嵌套隔心,可以呈現(xiàn)各種復(fù)雜的形式白群。
④break,continue語句
Ⅰbreak語句終止當(dāng)前循環(huán)硬霍,轉(zhuǎn)而執(zhí)行循環(huán)之后的語句帜慢。
Ⅱcontinue用在while循環(huán)和for循環(huán)中,用來跳過循環(huán)體內(nèi)的continue后面的語句唯卖,并開始新的一輪循環(huán)粱玲。
⑤循環(huán)結(jié)構(gòu)中的else子句
else子句還可以在while語句和for語句中使用,使用時else子句放在while和for語句的下面拜轨,如果循環(huán)是從正常出口(即while后的表達(dá)式為False時或for語句后面的迭代正常結(jié)束時)結(jié)束退出的抽减,則執(zhí)行else子句;若非正常迭代結(jié)束退出(如因為執(zhí)行了break語句而提前退出循環(huán))橄碾,則不執(zhí)行else子句卵沉。
⑥特殊循環(huán)——列表結(jié)束
Python中有一種特殊的循壞颠锉,即通過for語句結(jié)合if語句,利用其他列表動態(tài)生成新列表偎箫,這種特殊的輕量級循環(huán)稱為列表解析木柬。

[表達(dá)式 for 表達(dá)式1 in 序列1
  for 表達(dá)式2 in 序列2
  ···
  for 表達(dá)式N in 序列N
  if 條件
]

列表解析中的多個for語句相當(dāng)于for結(jié)構(gòu)中的嵌套使用。

4.支持的數(shù)據(jù)結(jié)構(gòu)有哪些種類淹办,其使用特征分別是什么(映射眉枕?列表···)?注意類型的可變可不變

1)基本類型
①整型(int)
注:在Python 3.x中怜森,整型不再嚴(yán)格區(qū)分int和long(長整型)速挑。
②布爾型(bool):布爾型是整型的子類,只有True和False兩個值(注意大小寫區(qū)別)副硅。
③浮點(diǎn)型(float):浮點(diǎn)型類似于數(shù)學(xué)中的實(shí)數(shù)姥宝。
④復(fù)數(shù)型(complex):復(fù)數(shù)表示成“實(shí)數(shù)+虛數(shù)”的形式,其中虛數(shù)部分用“j”表示(j是虛數(shù)恐疲,j*j=-1)腊满,虛數(shù)部分必須有“j”。特別地培己,虛數(shù)部分“0j”前面的“0”不能省略碳蛋。
提示:復(fù)數(shù)可以分離實(shí)數(shù)部分和虛數(shù)部分,imag屬性返回虛數(shù)部分省咨,real屬性返回實(shí)數(shù)部分肃弟。復(fù)數(shù)的共軛可以用conjugate()方法返回。
2)序列類型
①字符串:字符串是用引號引起來的字符集合零蓉。在Python中可以使用單引號笤受、雙引號、三引號(三個單引號)表示字符串敌蜂。
序列通過索引來訪問元素箩兽,索引值從0開始。
除了利用索引值訪問單個字符外章喉,還可以利用切片操作進(jìn)行多個字符的訪問汗贫。
②列表
其為可變?nèi)萜鳌?br> ③元組
其和列表有很多相似的地方。但最大的區(qū)別在于元組是不可變的囊陡,也就是說芳绩,元組中的元素值是不能改變的,因此有很多適用于列表的函數(shù)/方法都不能用于元組撞反。
④range對象:Python中使用range()函數(shù)生成一個不可變的整數(shù)序列妥色。常常用在for循環(huán)中。
3)字典
字典是Python中唯一的一種映射類型遏片。字典也是容器嘹害,它能存儲多個元素撮竿,每一個元素都由一個鍵和一個值構(gòu)成的鍵值對組成。字典使用不可變的對象作為鍵笔呀,常見的是用字符串作為鍵去索引一個值幢踏,值的數(shù)據(jù)類型比較多樣化,可以是任意類型的Python對象许师。
字典用大括號“{}”表識房蝉。
但與序列類型使用數(shù)值索引訪問元素不同。字典通過鍵來訪問值微渠。
*注意:由于Python是一種強(qiáng)類型的語言搭幻,所以在運(yùn)算中變量類型不能自動轉(zhuǎn)換,因此表達(dá)式“1+'2'”運(yùn)算時會產(chǎn)生TypeError異常逞盆。

5.Python關(guān)鍵詞用法

關(guān)鍵詞
False None True and as
assert break class continue def
del elif else except finally
for from global except if
import in is lambda nonlocal
not or pass raise return
try while with yield

6.for range的用法

循環(huán)語句——for 和range的用法:https://blog.csdn.net/weixin_42213622/article/details/84331884

7.常用轉(zhuǎn)義字符的功能檀蹋,如\n,\t

以反斜杠“\”開頭緊跟轉(zhuǎn)義字符云芦。

字符 說明
\0 空字符
\t 橫向制表符
\n 換行
\r 回車
" 雙引號
' 單引號
\ 反斜杠
\(在行尾時) 續(xù)行符
\ooo 值為八進(jìn)制數(shù)ooo的字符
\xhh 值為十六進(jìn)制數(shù)hh的字符

8.文件的使用

1)文件的打開和關(guān)閉
①文件的打開
②文件的關(guān)閉**
2)文件的基本操作
①文件的讀寫
②文件的定位
③文件的其它操作

9.程序中縮進(jìn)的作用

關(guān)于 python 的縮進(jìn):https://blog.csdn.net/wosind/article/details/100012180

10.type()的用法

type() 函數(shù)如果你只有第一個參數(shù)則返回對象的類型俯逾,三個參數(shù)返回新的類型對象。

type(object)
type(name, bases, dict)

name -- 類的名稱舅逸。
bases -- 基類的元組桌肴。
dict -- 字典,類內(nèi)定義的命名空間變量堡赔。

11.輸入和輸出的用法

1)input()函數(shù)

x = input(['輸入提示'])

由于input()函數(shù)的返回值類型是str识脆,因此有時需要使用int()和float()等函數(shù)將獲得的輸入數(shù)據(jù)轉(zhuǎn)換成需要的類型设联。

x = int(input(['輸入提示']))
x = float(input(['輸入提示']))

在input函數(shù)的使用中還可以利用eval()函數(shù)將輸入的字符串當(dāng)成有效的Python表達(dá)式求值善已。
2)print()函數(shù)

print(對象1,對象2,···,對象n,sep=' ',end='\n')

輸出時用參數(shù)sep表示輸出對象之間的分隔符,默認(rèn)為空格离例,參數(shù)end的默認(rèn)值為'\n'换团,表示print()函數(shù)輸出完成后自動換行。
為了增強(qiáng)輸出的可讀性宫蛆,print()函數(shù)也提供了與C語言中的printf()函數(shù)類似的格式化輸出形式:

print('格式字符串' % (對象1,對象2,···,對象n))

格式字符串由一個“%”和格式運(yùn)算符及一些修飾符組合而成艘包。但在Python 3.x中它已基本被str.format()替代。

"格式化模板".format(對象1,對象2,···,對象n)

其中耀盗,格式化模板使用大括號“{}”作為特殊字符想虎。

12.len()用于不同類型的運(yùn)算結(jié)果

python中l(wèi)en()的用法:https://blog.csdn.net/u013176681/article/details/51000657

13.id()的用法

id()函數(shù)返回對象的唯一標(biāo)識符,標(biāo)識符是一個整數(shù)叛拷。
Python中id()函數(shù)用于獲取對象的內(nèi)存地址舌厨。

id([object])

object -- 對象

14.in的用法

Python中in的用法小結(jié):https://blog.csdn.net/qq_32649581/article/details/89874056

15.split()的用法

split()通過指定分隔符對字符串進(jìn)行切片,如果參數(shù) num 有指定值忿薇,則分隔 num+1 個子字符串裙椭。

str.split(str="", num=string.count(str))

str -- 分隔符躏哩,默認(rèn)為所有的空字符,包括空格揉燃、換行(\n)扫尺、制表符(\t)等。
num -- 分割次數(shù)炊汤。默認(rèn)為 -1, 即分隔所有正驻。

16.切片用法

徹底搞懂Python切片操作:http://www.reibang.com/p/15715d6f4dad

17.dict(zip(··))的用法

Python: 字典dict: zip():https://www.cnblogs.com/baxianhua/p/8072824.html

18.sum()用于set的結(jié)果

19.sum(range(…))的用法及結(jié)果

例:sum(range(…))的值為45。

20.list(range(6))的結(jié)果

[0抢腐,1拨拓,2,3氓栈,4渣磷,5]

21.is的用法

Python中 ==,is的使用:http://www.reibang.com/p/5beaf24eafd6

22. myStr = "python" myList = list(enumerate(myStr)) print(myList[3])

23.列表的append()用法

append() 方法用于在列表末尾添加新的對象授瘦。

list.append(obj)

obj -- 添加到列表末尾的對象醋界。

24.集合的運(yùn)算及結(jié)果


集合的運(yùn)算及結(jié)果

25.局部變量的作用域

Python的變量的作用域(全局變量和局部變量):https://blog.csdn.net/qq_38934189/article/details/106412995

26.判斷素數(shù)的算法

n = int(input("輸入一個正整數(shù)n:"))
if n < 2:
  print("n不是素數(shù)")
else:
  for x in range(2,n):  # 生成2到n的數(shù)提完,不包括n
    if n % x == 0:  # 除數(shù)不包括1和n本身形纺,所以在此循環(huán)中只要能被其它數(shù)整除,就代表不是素數(shù)
      print("n不是素數(shù)徒欣!")
    else:
      print("n是素數(shù)逐样!")

27.列出所有組合,如用1角打肝,2角和5角組成1元的所有組合等的算法

[total=i*1+j*2+k*5 for i in range(0,100)
for j in range(0,50)
for k in range(0,20)
if(10==total) 
  print(i,j,k,對象n,sep=' ',end='\n')
]

28.判斷閏年的算法

year = int(input(“請輸入一個年份:”))
if year%4==0 and year%400==0:
   print(“閏年”)
elif year%4==0 and year%100!=0:
   print(“閏年”)
else:
   print(“平年”)

29.求最小公倍數(shù)的算法(函數(shù))

def lcm(x, y):
  if x > y:
    greater = x
  else:
    greater = y
  while(True):
    if((greater % x == 0) and (greater % y == 0)):
      lcm = greater
      break
    greater += 1
  return lcm
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脂新,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子粗梭,更是在濱河造成了極大的恐慌争便,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件断医,死亡現(xiàn)場離奇詭異滞乙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鉴嗤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門斩启,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人醉锅,你說我怎么就攤上這事兔簇。” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵男韧,是天一觀的道長朴摊。 經(jīng)常有香客問我,道長此虑,這世上最難降的妖魔是什么甚纲? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮朦前,結(jié)果婚禮上介杆,老公的妹妹穿的比我還像新娘。我一直安慰自己韭寸,他們只是感情好春哨,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恩伺,像睡著了一般赴背。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晶渠,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天凰荚,我揣著相機(jī)與錄音,去河邊找鬼褒脯。 笑死便瑟,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的番川。 我是一名探鬼主播到涂,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颁督!你這毒婦竟也來了践啄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤适篙,失蹤者是張志新(化名)和其女友劉穎往核,沒想到半個月后箫爷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嚷节,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年虎锚,在試婚紗的時候發(fā)現(xiàn)自己被綠了硫痰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡窜护,死狀恐怖效斑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柱徙,我是刑警寧澤缓屠,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布奇昙,位于F島的核電站,受9級特大地震影響敌完,放射性物質(zhì)發(fā)生泄漏储耐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一滨溉、第九天 我趴在偏房一處隱蔽的房頂上張望什湘。 院中可真熱鬧,春花似錦牲证、人聲如沸贱呐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哟旗。三九已至,卻和暖如春栋操,著一層夾襖步出監(jiān)牢的瞬間热幔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工讼庇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绎巨,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓蠕啄,卻偏偏與公主長得像场勤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子歼跟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

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