Python語法元素入門
Python語法元素分析
注釋
注釋:程序員在代碼中加入的說明信息,不被計算機執行
注釋的兩種方法:
單行注釋以#開頭
多行注釋以'''開頭和結尾
# Here are the comments
'''
This is a multiline commernt
used in Python
'''
縮進
1個縮進 = 4個空格
用以在Python中標明代碼的層次關系
縮進是Python語言中表明程序框架的唯一手段
常量與變量
常量:程序中值不發生改變的元素
使用常量的好處:
例如:程序中含有一個常量,PI=3.14,如果程序中多次使用PI,當我們需要更精確的值時,直接修改常量定義,而不需要每一處使用都修改具體值
變量:程序中值發生改變或者可以發生改變的元素
在Python語言中,變量和常量使用上基本沒有區別
表達式
表達式:程序中產生或計算新數據值的一行代碼
Python語言的33個保留字或者操作符可以產生符合語法的表達式。例如
>>>x=25 #將數字25賦給變量x
# 在使用變量前必須對其賦值,否則編譯器報錯
空格的使用:
不改變縮進相關的空格數量
空格不能將命名分割
增加空格增加程序可讀性
字符串操作
操作符+可以實現兩個字符串的連接操作
>>> "python"+" is good"
'python is good'
字符串可理解為字節序列,若長度為L,第一個字節索引為0或-L,最后一個字節索引為L-1或-1
以區間形式獲得字符串的子串
>>> tIndex = "python"
>>> tIndex[4]
'o'
>>> tIndex[-4]
't'
>>> tIndex[1:-2] # 表示一個從[1,-2)的區間
'yth'
>>>
輸入
input()函數從控制臺獲得用戶輸入
= input()
獲得的用戶輸入以字符串形式保存在中
>>> input_string = input("請輸入:")
請輸入:this is a string
>>>
輸出
print()函數用來輸出字符信息,或以字符形式輸出變量。
print()函數可以輸出各種類型變量的值。
print()函數通過%來選擇要輸出的變量。
實例:
用戶輸入兩個數字,計算它們的平均數,并輸出平均數
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)
分支
分支語句:控制程序運行,根據判斷條件選擇程序執行路徑。基本過程如下:
if:
elif:
......
elif:
else:
循環
循環語句:控制程序運行,根據判斷條件或計數條件確定一段程序的運行次數
計數循環,基本過程如下
for i in range():
例如,使某一段程序連續運行10次
for i in range(10):
# 其中,變量i用于計數
命名
命名:給程序元素關聯一個標識符,保證唯一性
變量和常量都需要一個名字
命名規則:
大小寫字母、數字和下劃線的組合,但首字母只能是大小寫字母或下劃線,不能使用空格。
中文等非字母符號也可以作為名字。
以下下是合法命名的標識符:
python_is_good python_is_not_good
_is_it_a_question_ python語言
標識符對大小寫敏感,不能與保留字相同
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
同步賦值語句:同時給多個變量賦值(先運算右側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()獲得輸入
運算部分:根據算法實現
結果輸出:print()輸出結果
initial-print模板
初始變量:運算需要的初始值
運算部分:根據算法實現
結果輸出:print()輸出結果
蟒蛇繪制程序
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)
# 調用自定義函數
drawSnake(40,80,5,pythonsize/2)
main()
Python語法元素
import turtle
import 是一個關鍵字,用來引入一些外部庫,這里的含義是引入一個名字叫turtle的函數庫
def用于定義函數。
函數是一組代碼的集合,用于表達一個功能,或者說,函數表示一組代碼的歸屬,函數名稱是這段代碼的名字。
def所定義的函數在程序中未經調用不能直接執行,需要通過函數名調用才能夠執行。
Turtle庫
Turtle庫是Python語言中一個很流行的繪制圖像的函數庫
使用Turtle庫,同學們頭腦里需要有這樣的一個概念:
想象一個小烏龜,在一個橫軸為x,縱軸為y的坐標系原點,(0,0)位置開始
它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。
turtle.setup()函數用于啟動一個圖形窗口,它有四個參數
turtle.setup(width,height,startx,starty)
turtle.pensize()函數表示小烏龜運動軌跡的寬度。
turtle.pencolor()函數表示小烏龜運動軌跡的顏色。Turtle采用RGB方式來定義顏色。
turtle.seth(angle)函數表示小烏龜啟動時運動的方向。它包含一個輸入參數,是角度值。
其中,0表示向東,90度向北,180度向西,270度向南;負值表示相反方向。
程序中,我們讓小烏龜向-40度啟動爬行,即:向東南方向40度。
turtle.circle()函數讓小烏龜沿著一個圓形爬行
參數rad描述圓形軌跡半徑的位置
這個半徑在小烏龜運行的左側rad遠位置處,如果rad為負值,則半徑在小烏龜運行的右側。
參數angle表示小烏龜沿著圓形爬行的弧度值
turtle.fd()函數也可以用turtle.forward()表示烏龜向前直線爬行移動。
表示小烏龜向前直線爬行移動,它有一個參數表示爬行的距離。
函數庫的引用
Python語言的魅力在于大量使用外部函數庫
包含在安裝包中的函數庫:math、random、turtle 等
其他函數庫:用戶根據需求安裝
第一種方式
import
例如:import turtle
如果需要用到函數庫中函數,需要使用:
.
import turtle
turtle.fd(100)
第二種方式:
fromimport
fromimport*
調用函數不需要,直接使用
from turtle import*
fd(100)
兩種引用方式的區別
如果采用第一種方式,用戶自定義的函數名字可以和庫中函數的名字一樣,例如:程序中可以定義自己的fd()函數。
如果采用第二種方式,用戶程序中不能用函數庫中的名字定義,例如:程序不能定義新的fd()函數,因為庫turtle中的fd()函數也是直接通過fd()調用。