python基礎 第5天

2021-10-06 11:55:53 字數 4050 閱讀 5645

推導式建立序列

推導式是從乙個或者多個迭代器快速建立序列的一種方法。它可以將迴圈和條件判斷結合,從而避免冗長的**。推導式是典型的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...