基礎的python程序_Python程序入門

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()調用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394016.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394016.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394016.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決阿里云服務器磁盤報警

一般磁盤報警涉及到實際磁盤和inode文件索引節點 1.df -h檢查磁盤占用不高 2.df -i檢查inode文件索引節點有一個掛載目錄達到89%,里面有一個目錄產生大量的4k大的緩存文件,刪除該目錄下的文件解決: 刪除該目錄下小于4kb的文件 find /data/tmp -type f -size -4 -exec rm -rf {}…

leetcode310. 最小高度樹(bfs)

對于一個具有樹特征的無向圖,我們可選擇任何一個節點作為根。圖因此可以成為樹,在所有可能的樹中,具有最小高度的樹被稱為最小高度樹。給出這樣的一個圖,寫出一個函數找到所有的最小高度樹并返回他們的根節點。格式該圖包含 n 個節…

如何構建自己的免費無服務器評論框

by Shaun Persad通過Shaun Persad 如何構建自己的免費無服務器評論框 (How you can build your own free, serverless comment box) Contentful’s flexible content modeling goes far beyond blog posts. Here’s how you can leverage Contentful and Netlify to create a …

[Swift]LeetCode1035.不相交的線 | Uncrossed Lines

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★?微信公眾號:山青詠芝(shanqingyongzhi)?博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)?GitHub地址&a…

BZOJ1054(搜索)

大力搜&#xff0c;狀態用一個16位的數字表示。 1 #include <bits/stdc.h>2 3 using namespace std;4 5 #define rep(i,a,b) for(int i(a); i < (b); i)6 7 const int A 30 1;8 9 struct node{int x, y; } op[A]; 10 struct Nod…

php sql語句過濾,php如何做sql過濾

php如何做sql過濾SQL注入攻擊指的是通過構建特殊的輸入作為參數傳入Web應用程序&#xff0c;而這些輸入大都是SQL語法里的一些組合&#xff0c;通過執行SQL語句進而執行攻擊者所要的操作&#xff0c;其主要原因是程序沒有細致地過濾用戶輸入的數據&#xff0c;致使非法數據侵入…

ajaxfileupload 返回值_ajaxFileUpload上傳文件返回json無法解析

最近做一個文件上傳的功能&#xff0c;還要綁定數據傳輸到后臺&#xff0c;為了不影響前端的體驗&#xff0c;采用ajax發送請求。找了一些資料&#xff0c;網上的用ajaxupload這個插件。但是無論成功還是失敗都是執行的error的回調函數。后臺我采用springmvc返回的json&#xf…

leetcode133. 克隆圖(bfs)

給你無向 連通 圖中一個節點的引用&#xff0c;請你返回該圖的 深拷貝&#xff08;克隆&#xff09;。 圖中的每個節點都包含它的值 val&#xff08;int&#xff09; 和其鄰居的列表&#xff08;list[Node]&#xff09;。 class Node { public int val; public List neighbor…

OSCON上最受歡迎的Docker演講

本文講的是OSCON上最受歡迎的Docker演講&#xff0c;【編者的話】本文介紹了上個月OSCON大會有關Docker最受歡迎的一個分享&#xff1a;真實線上環境的Docker技巧。分享者是一名運維工程師叫Bridget&#xff0c;她所在的公司DramaFever在2013年10月開始在線上環境部署使用Docke…

測試驅動開發 測試前移_測試驅動開發:它是什么,什么不是。

測試驅動開發 測試前移by Andrea Koutifaris由Andrea Koutifaris Test driven development has become popular over the last few years. Many programmers have tried this technique, failed, and concluded that TDD is not worth the effort it requires.在過去的幾年中&…

【C/C++開發】C++庫大全

C特殊限定符(1)--static 當static來修飾類數據成員時&#xff0c;這個類的所有對象都可以訪問它。因為值在內存中持續存在&#xff0c;它可以被對象有效共享。這意味著當一個對象改變static數據成員的值時&#xff0c;就改變了所有對象的這個數據成員的值。 定義一個類: class …

java二維數組水平翻轉,C 語言 利用二維數組實現對輸入的數組進行翻轉

C 語言 利用二維數組實現對輸入的數組進行翻轉(幫助理解對圖像翻轉編輯原理)/*?輸入幾行幾列數字和翻轉方式&#xff0c;如&#xff1a;3 4 0即代表3行4列&#xff0c;左右翻轉&#xff1b;6 5 1即代表6行5列&#xff0c;上下翻轉。輸入示例&#xff1a;3 4 0________________…

lightgbm 保存模型 過大_一個例子讀懂LightGBM的模型文件

機器學習模型的可解釋性是個讓人頭痛的問題。在使用LightGBM模型的肯定對生成的GBDT的結構是好奇的&#xff0c;我也好奇&#xff0c;所以就解析一個LightGBM的模型文件看看&#xff0c;通過這個解析&#xff0c;你可以看懂GBDT的結構。另外&#xff0c;了解模型文件&#xff0…

Oracle Sql 胡亂記

/Oracle查詢優化改寫/ --1、coalesce 返回多個值中&#xff0c;第一個不為空的值 select coalesce(, , s) from dual; --2、order by -----dbms_random.value 生產隨機數,利用隨機數對查詢結果進行隨機排序 select * from emp order by dbms_random.value; --指定查詢結果中的一…

leetcode752. 打開轉盤鎖(bfs)

你有一個帶有四個圓形撥輪的轉盤鎖。每個撥輪都有10個數字&#xff1a; ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每個撥輪可以自由旋轉&#xff1a;例如把 ‘9’ 變為 ‘0’&#xff0c;‘0’ 變為 ‘9’ 。每次旋轉都只能旋轉一個撥輪的一位…

Object Pools 噴泉效果實現

摘錄自&#xff1a;http://catlikecoding.com/unity/tutorials/object-pools/ 工程 效果圖 工程里面有響應的注釋 源碼我就不單獨放出來了

從頭學習計算機網絡_我如何通過從頭開始構建網絡爬蟲來自動進行求職

從頭學習計算機網絡它是如何開始的故事 (The story of how it began) It was midnight on a Friday, my friends were out having a good time, and yet I was nailed to my computer screen typing away.星期五是午夜&#xff0c;我的朋友們出去玩得很開心&#xff0c;但我被釘…

php 動態生成文件,php動態程序生成靜態文件示例

html>{title}{content}tmp.html是模板文件/** 說明&#xff1a;生成靜態頁面,tmp.html是模板文件&#xff0c;news.html是要生成的文件&#xff0c;**///1&#xff0c;先讀取模板中內容$strfile_get_contents(tmp.html);//2&#xff0c;將指定的內容進行替換$title網站標題;…

網管的自我修養-網絡系統

目錄&#xff1a; 序章人際關系工具準備電腦維護網絡系統弱電系統外設相關信息系統服務器相關機房建設其他網管網管&#xff0c;會管網絡才算名副其實。管理一般中小企業的網絡&#xff0c;具備CCNA及以上水平就可以了。 一、規劃 首先要根據公司的人員工位數量、打印機傳真等設…

thinkphp日志泄漏漏洞_ThinkPHP框架被爆任意代碼執行漏洞

昨日ThinkPHP框架被爆出了一個php代碼任意執行漏洞&#xff0c;黑客只需提交一段特殊的URL就可以在網站上執行惡意代碼。ThinkPHP作為國內使用比較廣泛的老牌PHP MVC框架&#xff0c;有不少創業公司或者項目都用了這個框架。不過大多數開發者和使用者并沒有注意到本次漏洞的危害…