Python程序入門

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è)。
    • 參數(shù)angle表示小烏龜沿著圓形爬行的弧度值
  • 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)用里覆。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市缆瓣,隨后出現(xiàn)的幾起案子喧枷,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隧甚,死亡現(xiàn)場離奇詭異车荔,居然都是意外死亡,警方通過查閱死者的電腦和手機戚扳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門忧便,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人帽借,你說我怎么就攤上這事珠增。” “怎么了宜雀?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵切平,是天一觀的道長。 經(jīng)常有香客問我辐董,道長,這世上最難降的妖魔是什么禀综? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任简烘,我火速辦了婚禮,結(jié)果婚禮上定枷,老公的妹妹穿的比我還像新娘孤澎。我一直安慰自己,他們只是感情好欠窒,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布覆旭。 她就那樣靜靜地躺著,像睡著了一般岖妄。 火紅的嫁衣襯著肌膚如雪型将。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天荐虐,我揣著相機與錄音,去河邊找鬼。 笑死苹威,一個胖子當(dāng)著我的面吹牛间驮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铛碑,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼狠裹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了汽烦?” 一聲冷哼從身側(cè)響起涛菠,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碗暗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颈将,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年言疗,在試婚紗的時候發(fā)現(xiàn)自己被綠了晴圾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡噪奄,死狀恐怖死姚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情勤篮,我是刑警寧澤都毒,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站碰缔,受9級特大地震影響账劲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜金抡,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一瀑焦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梗肝,春花似錦榛瓮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至坝锰,卻和暖如春粹懒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背什黑。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工崎淳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人愕把。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓拣凹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親恨豁。 傳聞我的和親對象是個殘疾皇子嚣镜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

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