這是函數注解,Python 3.x引入,它的特點有
成都創新互聯是專業的張店網站建設公司,張店接單;提供網站設計制作、成都網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行張店網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
對函數的參數進行類型注解,以冒號標記
對函數的返回值進行類型注解,以箭頭標記
只對函數參數或返回值做一個輔助的說明,并不對函數參數或返回值進行類型檢查
提供給第三方工具,做代碼分析,發現隱藏bug
函數注解的信息,保存在__annotations__屬性中
注解本身是一個字典類型的數據
你的程序我幫你完善了(函數注解部分的解釋見注釋),你看看吧
from?typing?import?List
def?f(a)?-?List[dict]:?#函數注解,返回一個字典列表,但是它不對返回值類型進行檢查
print(a)??#打印字典
return?[a]?#返回字典列表
print(f.__annotations__)?#打印函數注解
l={'Name':?'Zara','Age':17}?#把字典傳入函數
print(f(l))?#打印函數返回值
源代碼(注意源代碼的縮進)
import turtle
turtle.showturtle() #屏幕上顯示出來海龜繪圖,終端中會用到
turtle.penup() #抬起畫筆,此時畫筆的移動不會留下痕跡
turtle.pendown() #放下畫筆,此時畫筆的移動會留下痕跡
turtle.pensize(3) #筆粗為3
turtle.goto(-200,100) #將畫筆移動到(-200,100)坐標
turtle.color("red") #設定畫筆的顏色為紅色
turtle.circle(100) #以當前畫筆所在點為圓最下端開始畫半徑為100的圓
turtle.circle(100,steps=n) #繪制一個周長為100,的n邊形
turtle.forward(200) #將畫筆前進200
turtle.backward(100) #將比后退100
turtle.right(70) #將畫筆箭頭的方向向右移70度
turtle.left(90) #將畫筆箭頭的方向向左移90度
turtle.stamp() #復制當前圖形
turtle.write("hello,小朋友",font=('宋體',20,"normal")) #添加括號里的字符,font設置字符字體,大小以及作用
turtle.reste() #重置
turtle.hideturtle() #將畫筆隱藏
turtle.done() #把所繪圖顯示出來,不關閉繪圖軟件
給繪制的圖形填充顏色
turtle.begin_fill()
turtle.circle(100)
turtle.color("yellow")
turtle.end_fill()
1
2
3
4
例:畫出奧運五環
import turtle
turtle.color("blue")
turtle.circle(100)
turtle.penup()
turtle.goto(-200,0)
turtle.pendown()
turtle.color("red")
turtle.circle(100)
turtle.penup()
turtle.goto(200,0)
turtle.color("yellow")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(-100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.done()
1、print()函數:打印字符串;
2、raw_input()函數:從用戶鍵盤捕獲字符;
3、len()函數:計算字符長度;
4、format()函數:實現格式化輸出;
5、type()函數:查詢對象的類型;
6、int()函數、float()函數、str()函數等:類型的轉化函數;
7、id()函數:獲取對象的內存地址;
8、help()函數:Python的幫助函數;
9、s.islower()函數:判斷字符小寫;
10、s.sppace()函數:判斷是否為空格;
11、str.replace()函數:替換字符;
12、import()函數:引進庫;
13、math.sin()函數:sin()函數;
14、math.pow()函數:計算次方函數;
15、os.getcwd()函數:獲取當前工作目錄;
16、listdir()函數:顯示當前目錄下的文件;
17、time.sleep()函數:停止一段時間;
18、random.randint()函數:產生隨機數;
19、range()函數:返回一個列表,打印從1到100;
20、file.read()函數:讀取文件返回字符串;
21、file.readlines()函數:讀取文件返回列表;
22、file.readline()函數:讀取一行文件并返回字符串;
23、split()函數:用什么來間隔字符串;
24、isalnum()函數:判斷是否為有效數字或字符;
25、isalpha()函數:判斷是否全為字符;
26、isdigit()函數:判斷是否全為數字;
27、 lower()函數:將數據改成小寫;
28、upper()函數:將數據改成大寫;
29、startswith(s)函數:判斷字符串是否以s開始的;
30、endwith(s)函數:判斷字符串是否以s結尾的;
31、file.write()函數:寫入函數;
32、file.writeline()函數:寫入文件;
33、abs()函數:得到某數的絕對值;
34、file.sort()函數:對書數據排序;
35、tuple()函數:創建一個元組;
36、find()函數:查找 返回的是索引;
37、dict()函數:創建字典;
38、clear()函數:清楚字典中的所有項;
39、copy()函數:復制一個字典,會修改所有的字典;
40、 get()函數:查詢字典中的元素。
…………
你用的graphics模塊?這不是內置的,雖然它是調用內置的Tkinter畫圖。
option可以是"first","last","both"或"none"。見graphics.py:
def setArrow(self, option):
if not option in ["first","last","both","none"]:
raise GraphicsError(BAD_OPTION)
self._reconfig("arrow", option)
細節要查Tk文檔:
6.6. The canvas line object
In general, a line can consist of any number of segments connected end to end, and each segment can be straight or curved. To create a canvas line object on a canvas C, use:
id = C.create_line ( x0, y0, x1, y1, ..., xn, yn, option, ... )
The line goes through the series of points
(x0,
y0),
(x1,
y1),
…
(xn,
yn).
Options include:
arrow The default is for the line to have no arrowheads. Use
arrow=FIRST to get an arrowhead at the(x0,y0)end of the line. Use
arrow=LAST to get an arrowhead at the far end. Use
arrow=BOTH for arrowheads at both ends.
1、那個是函數定義中,返回值的類型說明。沒有具體作用,相當于注釋。
2、沒有為什么,是python的語法。字典就是可以:字典["key"]=value這樣來添加鍵值對。
在學習Python的過程中,有幾個比較重要的內置函數:help()函數、dir()函數、input()與raw_input()函數、print()函數、type()函數。
第一、help()函數
Help()函數的參數分為兩種:如果傳一個字符串做參數的話,它會自動搜索以這個字符串命名的模塊、方法等;如果傳入的是一個對象,就會顯示這個對象的類型的幫助。比如輸入help(‘print’),它就會尋找以‘print’為名的模塊、類等,找不到就會看到提示信息;而print在Python里是一個保留字,和pass、return同等,而非對象,所以help(print)也會報錯。
第二、dir()函數
dir()函數返回任意對象的屬性和方法列表,包含模塊對象、函數對象、字符串對象、列表對象、字典對象等。盡管查找和導入模塊相對容易,但是記住每個模塊包含什么卻不是這么簡單,您并不希望總是必須查看源代碼來找出答案。Python提供了一種方法,可以使用內置的dir()函數來檢查模塊的內容,當你為dir()提供一個模塊名的時候,它返回模塊定義的屬性列表。dir()函數適用于所有對象的類型,包含字符串、整數、列表、元組、字典、函數、定制類、類實例和類方法。
第三、input與raw_input函數
都是用于讀取用戶輸入的,不同的是input()函數期望用戶輸入的是一個有效的表達式,而raw_input()函數是將用戶的輸入包裝成一個字符串。
第四、Print()函數
Print在Python3版本之間是作為Python語句使用的,在Python3里print是作為函數使用的。
第五、type()函數
Type()函數返回任意對象的數據類型。在types模塊中列出了可能的數據類型,這對于處理多種數據類型的函數非常有用,它通過返回類型對象來做到這一點,可以將這個類型對象與types模塊中定義類型相比較。