Python語法元素入門
Python語法元素分析
注釋
- 注釋:程序員在代碼中加入的說明信息喜命,不被計算機執(zhí)行
- 注釋的兩種方法:
- 單行注釋以
#
開頭 - 多行注釋以
'''
開頭和結(jié)尾
- 單行注釋以
# Here are the comments
'''
This is a multiline commernt
used in Python
'''
縮進
- 1個縮進 = 4個空格
- 用以在Python中標(biāo)明代碼的層次關(guān)系
- 縮進是Python語言中表明程序框架的唯一手段
常量與變量
- 常量:程序中值不發(fā)生改變的元素
- 使用常量的好處:
- 例如:程序中含有一個常量,PI=3.14遂赠,如果程序中多次使用PI芒填,當(dāng)我們需要更精確的值時啤覆,直接修改常量定義郑什,而不需要每一處使用都修改具體值
- 變量:程序中值發(fā)生改變或者可以發(fā)生改變的元素
- 在Python語言中,變量和常量使用上基本沒有區(qū)別
表達式
- 表達式:程序中產(chǎn)生或計算新數(shù)據(jù)值的一行代碼
- Python語言的33個保留字或者操作符可以產(chǎn)生符合語法的表達式脖卖。例如
>>>x=25 #將數(shù)字25賦給變量x
# 在使用變量前必須對其賦值乒省,否則編譯器報錯
- 空格的使用:
- 不改變縮進相關(guān)的空格數(shù)量
- 空格不能將命名分割
- 增加空格增加程序可讀性
字符串操作
- 操作符
+
可以實現(xiàn)兩個字符串的連接操作
>>> "python"+" is good"
'python is good'
- 字符串可理解為字節(jié)序列,若長度為
L
畦木,第一個字節(jié)索引為0
或-L
袖扛,最后一個字節(jié)索引為L-1
或-1
- 以區(qū)間形式獲得字符串的子串
>>> tIndex = "python"
>>> tIndex[4]
'o'
>>> tIndex[-4]
't'
>>> tIndex[1:-2] # 表示一個從[1,-2)的區(qū)間
'yth'
>>>
輸入
-
input()
函數(shù)從控制臺獲得用戶輸入- <變量>= input(<提示性文字>)
- 獲得的用戶輸入以字符串形式保存在
<變量>
中
>>> input_string = input("請輸入:")
請輸入:this is a string
>>>
輸出
-
print()
函數(shù)用來輸出字符信息,或以字符形式輸出變量十籍。 -
print()
函數(shù)可以輸出各種類型變量的值蛆封。 -
print()
函數(shù)通過%
來選擇要輸出的變量唇礁。
實例:
用戶輸入兩個數(shù)字,計算它們的平均數(shù)娶吞,并輸出平均數(shù)
num1 = input("The first number is")
num2 = input("The second number is")
avg_num = (float(num1) + float(num2)) / 2
print("The average number is %f" % avg_num)
分支
- 分支語句:控制程序運行垒迂,根據(jù)判斷條件選擇程序執(zhí)行路徑械姻《噬撸基本過程如下:
if<條件1成立>:
<表達式組1>
elif<條件2成立>:
<表達式組2>
......
elif<條件N-1成立>:
<表達式組N-1>
else:
<表達式組N>
循環(huán)
- 循環(huán)語句:控制程序運行,根據(jù)判斷條件或計數(shù)條件確定一段程序的運行次數(shù)
- 計數(shù)循環(huán)楷拳,基本過程如下
for i in range(<計數(shù)值>):
<表達式1>
- 例如绣夺,使某一段程序連續(xù)運行10次
for i in range(10):
<源代碼>
# 其中,變量i用于計數(shù)
命名
- 命名:給程序元素關(guān)聯(lián)一個標(biāo)識符欢揖,保證唯一性
- 變量和常量都需要一個名字
- 命名規(guī)則:
- 大小寫字母陶耍、數(shù)字和下劃線的組合,但首字母只能是大小寫字母或下劃線她混,不能使用空格烈钞。
- 中文等非字母符號也可以作為名字。
- 以下下是合法命名的標(biāo)識符:
python_is_good python_is_not_good
_is_it_a_question_ python語言
- 標(biāo)識符對大小寫敏感坤按,不能與保留字相同
- Python 3.x保留字列表(33個)
| * | * | * | * |
|:-----:| :----:| :----:| :----:|
| and | elif | import|raise |
|as |else |in |return |
|assert |except |is |try |
|break |finally|lambda |while |
|class |for |nonlocal|with |
|continue|from |not |yield |
|def |global |or |True |
|del |if |pass |False |
| | | |None |
賦值語句
- 賦值語句:使用等號給變量賦值
f=1.8*float(input_str[0:-1]) + 32
- 同步賦值語句:同時給多個變量賦值(先運算右側(cè)N個表達式毯欣,然后同時將表達式結(jié)果賦給左側(cè))
<變量1>,...,<變量N> = <表達式1>,...,<表達式N>
- 例:將變量x和y交換
- 采用單個賦值,需要3行語句:
- 即通過一個臨時變量t緩存x的原始值臭脓,然后將y賦值給x酗钞,再將x的原始值通過t賦值給y。
t=x
x=y
y=t
- 采用同步賦值語句来累,僅需要一行代碼:
x,y=y,x
程序編寫模板
- 任何輸入輸出類型的組合都可以看成“模板”
- 例如:
- input輸入 - 文件write輸出
input-print模板
- 用戶輸入:
input()
獲得輸入 - 運算部分:根據(jù)算法實現(xiàn)
- 結(jié)果輸出:
print()
輸出結(jié)果
initial-print模板
- 初始變量:運算需要的初始值
- 運算部分:根據(jù)算法實現(xiàn)
- 結(jié)果輸出:
print()
輸出結(jié)果
蟒蛇繪制程序
import turtle
def drawSnake(rad, angle, len, neckrad):
for i in range(len):
turtle.circle(rad, angle)
turtle.circle(-rad, angle)
turtle.circle(rad, angle/2)
turtle.fd(rad)
turtle.circle(neckrad+1 ,180)
turtle.fd(rad*2/3)
def main():
# 開啟窗口大小
turtle.setup(1300, 800, 0, 0)
# 運行軌跡的寬度
pythonsize = 30
turtle.pensize(pythonsize)
# 運行軌跡的顏色 RGB
turtle.pencolor("blue")
# 小烏龜啟動運行的方向
turtle.seth(-40)
# 調(diào)用自定義函數(shù)
drawSnake(40,80,5,pythonsize/2)
main()
Python語法元素
import turtle
import
是一個關(guān)鍵字砚作,用來引入一些外部庫,這里的含義是引入一個名字叫turtle
的函數(shù)庫def
用于定義函數(shù)嘹锁。函數(shù)是一組代碼的集合葫录,用于表達一個功能,或者說领猾,函數(shù)表示一組代碼的歸屬米同,函數(shù)名稱是這段代碼的名字。
def
所定義的函數(shù)在程序中未經(jīng)調(diào)用不能直接執(zhí)行瘤运,需要通過函數(shù)名調(diào)用才能夠執(zhí)行窍霞。
Turtle庫
Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫
-
使用Turtle庫,同學(xué)們頭腦里需要有這樣的一個概念:
- 想象一個小烏龜拯坟,在一個橫軸為x但金,縱軸為y的坐標(biāo)系原點,(0,0)位置開始
- 它根據(jù)一組函數(shù)指令的控制郁季,在這個平面坐標(biāo)系中移動冷溃,從而在它爬行的路徑上繪制了圖形钱磅。
turtle.setup()
函數(shù)用于啟動一個圖形窗口,它有四個參數(shù)
turtle.setup(width,height,startx,starty)
turtle.pensize()
函數(shù)表示小烏龜運動軌跡的寬度似枕。turtle.pencolor()
函數(shù)表示小烏龜運動軌跡的顏色盖淡。Turtle采用RGB方式來定義顏色。-
turtle.seth(angle)
函數(shù)表示小烏龜啟動時運動的方向凿歼。它包含一個輸入?yún)?shù)褪迟,是角度值。- 其中答憔,0表示向東味赃,90度向北,180度向西虐拓,270度向南心俗;負值表示相反方向。
- 程序中蓉驹,我們讓小烏龜向-40度啟動爬行城榛,即:向東南方向40度。
-
turtle.circle()
函數(shù)讓小烏龜沿著一個圓形爬行- 參數(shù)
rad
描述圓形軌跡半徑的位置- 這個半徑在小烏龜運行的左側(cè)
rad
遠位置處态兴,如果rad
為負值狠持,則半徑在小烏龜運行的右側(cè)。
- 這個半徑在小烏龜運行的左側(cè)
- 參數(shù)
angle
表示小烏龜沿著圓形爬行的弧度值
- 參數(shù)
-
turtle.fd()
函數(shù)也可以用turtle.forward()
表示烏龜向前直線爬行移動诗茎。- 表示小烏龜向前直線爬行移動工坊,它有一個參數(shù)表示爬行的距離。
函數(shù)庫的引用
Python語言的魅力在于大量使用外部函數(shù)庫
- 包含在安裝包中的函數(shù)庫:
math
敢订、random
王污、turtle
等 - 其他函數(shù)庫:用戶根據(jù)需求安裝
第一種方式
- import<庫名>
- 例如:
import turtle
- 如果需要用到函數(shù)庫中函數(shù),需要使用:
- <庫名>.<函數(shù)名>
import turtle
turtle.fd(100)
第二種方式:
- from<庫名>import<函數(shù)名>
- from<庫名>import*
- 調(diào)用函數(shù)不需要<庫名>楚午,直接使用<函數(shù)名>
from turtle import*
fd(100)
兩種引用方式的區(qū)別
- 如果采用第一種方式昭齐,用戶自定義的函數(shù)名字可以和庫中函數(shù)的名字一樣,例如:程序中可以定義自己的
fd()
函數(shù)矾柜。 - 如果采用第二種方式阱驾,用戶程序中不能用函數(shù)庫中的名字定義,例如:程序不能定義新的
fd()
函數(shù)怪蔑,因為庫turtle中的fd()
函數(shù)也是直接通過fd()
調(diào)用里覆。