推導式建立序列
推導式是從乙個或者多個迭代器快速建立序列的一種方法。它可以將迴圈和條件判斷結合,從而避免冗長的**。推導式是典型的python風格,會使用它代表你已經超過python初學者的水平。
列表推導式
列表推導式生我列表物件,語法如下:
[表示式 for item in 可迭代物件]
或者:字典推導式
字典的推導式生成字典物件,格式如下:
類似於列表推導式,字典推導也可以增加if條件判斷、多個for迴圈。
#列表推導式#
y=[x for x in range(1,5)]
print(y)
y=[x*2 for x in range(1,6)]
print(y)
y=print(y)
y=[a for a in "abcde"]
print(y)
#字典推導式#
my_text='i love u, u love me'
char_count=
print(char_count)
輸出結果
e:\python\python.exe d:/pycharmprojects/mytest/day4/__init__.py
[1, 2, 3, 4]
traceback (most recent call last):
[2, 4, 6, 8, 10]
file "d:/pycharmprojects/mytest/day4/__init__.py", line 24, in
char_count=
['a', 'b', 'c', 'd', 'e']
file "d:/pycharmprojects/mytest/day4/__init__.py", line 24, in
char_count=
typeerror: 'str' object is not callable
process finished with exit code 1
#字典推導式#
my_text='i love u, u love me'
char_count=
print(char_count)
輸出:i love u, u love me
最後終於...
#字典推導式#
my_text='i love u, u love me, love love'
char_count=
print(char_count)
輸出普通迴圈是先字典推導式的字數統計:(待完成)
集合推導式
集合裡面都是key,沒有value。
集合推導式生成集合,和列表推導式的語法格式類似:
或者:y=
print(y)
輸出生成器推導式
用於生成元組
乙個生成器只生成一次,用完後不再使用。
>>>(x for x in range(1,100)if x%9==0)
at 0x0000000002bd3048>
我們發現提示的是「乙個生成器物件」。顯然,元組是沒有推導式的。
用海龜畫同心圓
import turtle
t=turtle.pen()
my_colors=("red","green","yellow","black")
t.width(4)
t.speed(1)
for i in range(10):
t.penup()
t.goto(0,-i*10)
t.pendown()
t.color(my_colors[1%len(my_colors)])
t.circle(15+1*10)
turtle.done()
輸出一串交叉綠色圓圈
import turtle
t=turtle.pen()
my_colors=("red","green","yellow","black")
t.width(4)
t.speed(1)
for i in range(10):
t.penup()
t.goto(0,-i*10)
t.pendown()
t.color(my_colors[i%len(my_colors)])
t.circle(15+i*10)
turtle.done()
輸出完美同心圓
畫棋盤(待完成)
python用turtle畫西洋棋棋盤
函式用法和底層分析
函式是可重用的程式**塊。函式的作用,不僅可以實現**的復用,更能實現**的一致性。一致性指的是,只要修改函式的**,則所有呼叫該函式的地方都能得到體現。在編寫函式時,函式體中的**寫法和我們前面講述的基本一致,只是對**實現了封裝,並增加了函式呼叫、傳遞引數、返回計算結果等內容。
為了讓大家更容易理解,掌握的更深刻。我們也要深入記憶體底層進行分析。絕大多數語言記憶體底層都是高度相似的,這樣大家掌握了這些內容也便於以後學習其他語言。
函式(function,又叫「方法」)簡介
函式的基本概念
1.乙個程式由乙個個任務組成;函式就是代表乙個任務或者乙個功能。
2.函式是**復用的通用機制。
python函式的分類
python中函式分為如下幾類:
1.內建函式
我們面使用的str()、list()、len()等這些都是內建函式,我們可以拿來直接使用。
2.標準庫函式
我們可以通過import語句導入庫,然後使用其中定義的函式
3.第三方庫函式
4.使用者自定義函式
使用者自己定義的函式,顯然也是開發中適應使用者自身需求定義的函式。今天我們學習的就是如何自定義函式。
函式的定義和呼叫
核心要點
核心要點
python中,定義函式的語法如下:
def 函式名(引數列表):
『』』文件字串』』』
函式限若干語習
要點:1.我們使用def來定義函式,然後就是乙個空格和函式名稱;
(1)python執行def時,會建立乙個函式物件,並繫結到函式名變數上。
2.引數列表
(1)圓括號內是形式引數列表,有多個引數則使用逗號隔開(2)形式引數不需要宣告型別,也不需要指定函式返回值型別(3)無引數,也必須保留空的圓括號
(4)實參列表必須與形參列表一一對應
3.return返回值
def test01():
print("*"*10)
print("#"*10)
test01()
**********
##########
(1)如果函式體中包含return 語句,則結束函式執行並返回值;
(2)如果函式體中不包含return語句,則返回none值。
4.呼叫函式之前,必須要先定義函式,即先呼叫def建立函式物件
(1)內建函式物件會自動建立
(2)標準庫和第三方庫函式,通過import匯入模組時,會執行模組中的def語句我們通過實際定義函式來學習函式的定義方式。
形參和實參
def printmax(a,b):
if a>b:
print(a,"max")
else:
print(b,"min")
printmax(10,20)
printmax(30,20)
20 min
30 max
文件字串(函式的注釋)
返回值def add(a,b):
print("sum:,,",format(a,b,(a+b)))
return a+b
輸出:沒有得到結果(待完成)
函式也是物件,記憶體底層分析
函式可以作為引數傳遞,可以作為返回值返回。
變數的作用域(全域性變數和區域性變數)
區域性變數和全域性變數的效率測試
引數引數的傳遞
傳遞不可變物件
引數的幾種型別
位置引數
預設值引數必須位於其他引數後
可變引數
強制命名引數
Python基礎學習(第5天)
第3課 模組 1 模組 module python中乙個.py檔案就是乙個模組,可以呼叫其它檔案中的程式。例 first.py def laugh print 哈哈哈哈哈 second.py 1 import first 2for i in range 5 3 first.laugh 2 搜尋路徑 ...
python第5天學習
函式以def開頭,後面接函式名和圓括號 函式執行的 以冒號為起始,並且縮排。return結束函式選擇返回乙個值給呼叫方不用表示式return相當於返回none。可以沒有返回值。def function d ddd return c 函式的呼叫 temp function s wemp是s print...
學習Python第5天
字串的定義 轉義字元 描述 反斜槓符號 單引號 雙引號 n 換行 t 橫向製表符 tab r 回車print let s go let s go print let s go let s go print c now c now print c program files intel wifi he...