溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中變量,參數和模塊的示例分析

發(fā)布時間:2021-12-10 10:44:55 來源:億速云 閱讀:137 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹Python中變量,參數和模塊的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1 變量

首先,在python中,變量是存儲在內存的值,程序在執(zhí)行創(chuàng)建變量時會在內存中創(chuàng)建一個空間,并且根據變量的數據類型,python解析器會分配指定內存。變量標記或者指向一個值。

示例如下:與劇中的 color 就是一個變量名,指向字符串 blue, 代碼 color = "blue" 被 = 賦值給了變量。= 號被稱為賦值運算符,作用是讓變量指向一個值。遇到變量時,Python 將其替換為指向的值,也可以同時為多個變量賦值。

>>> color = "blue"
>>> color
'blue'
 
>>> count = 5
>>> 100 * count
500
 
>>> a,b,c = "hello",888,666
>>> a
'hello'
>>> b
888
>>> c
666

變量的使用比較簡單,同時也需要遵守以下幾個命名規(guī)則

1. 變量名的第一個字符不能是數字,而 必須是字母或下劃線;

2. 不能將 Python 關鍵字用作變量名。例 如,if、else、while、def、or、and、 not、in 和 is 都是 Python 關鍵字;

3. 變量名的長度不受限制,但其中的字符必須是字母、數字或下劃線,而不能使用空格、連字符、標點符號、引號或其他字符;

4. Python 區(qū)分大小寫,因此 A、B 和 a、b 是截然不同的變量名。

舉一個錯誤的示例:

Python中變量,參數和模塊的示例分析

>>> While = "nihao"
>>> While
'nihao'

當然,既然區(qū)分大小寫,我們可以將小寫的 w 改成大寫的 W,這樣就可以使用變量名了,但一般不建議這么使用。

聯系到上次所闡述的函數,它對于變量所帶來的一個問題是:作用域。所謂作用域就是指該變量在程序的哪些地方可以訪問或者可操作,一般分為局部變量和全局變量。對比下面兩個函數:

import math
def example1(x, y, a, b): 
	s = (x - a) ** 2 + (y - b) ** 2
 	return math.sqrt(s)
 
def example2(x, y, a, b):
 	w = abs(x - a)
 	h = abs(y - b)
 	return w * h

Python中變量,參數和模塊的示例分析

 全局變量 color 的值并沒有變,依然是 'blue'。問題在于Python 將函數 my_color中的變量 color視為局部變量,因此修改的并非全局變量color。這時候,就必須使用關鍵字global,對上面的代碼稍作修改,如下:這樣就把my_color() 的變量應用到了what_color()函數中去。

Python中變量,參數和模塊的示例分析

2 參數

在python編程中,參數的作用主要是向函數傳遞數據,且支持多種參數。當傳遞參數時,python一般使用按引用傳遞方式。就是我們在傳遞參數時,函數會使用新變量來調用原始值??聪旅娴拇a:

Python中變量,參數和模塊的示例分析

Python中變量,參數和模塊的示例分析

將 i 和 j 分別設置為10.9和3.7后的內存狀態(tài) 剛調用 count(x,y) 后的內存狀態(tài):x 和 y 分別指向 i 和 j 指向的值

當調用 count(i,j) 時,Python 創(chuàng)建兩個新變量——x和y,它們分別指向 i 和 j 的值,如上圖示。按排列順序進行賦值, 因此x指向 i,因為i是第一個實參。沒有復制實參的值,而只是給它們指定新名稱,而函數將使用這些新名稱來引用它們。

再看一個典型的示例,有些情況參數不會被函數所傳遞。該函數準備把所有傳入的變量的返回值都固定為100,但實際運行j的值并沒有任何改變。

>>> def get(i):i = 100
... 
>>> j = 12
>>> get(j)
>>> j
12

以上代碼可以分以下幾步執(zhí)行:

1.將12賦值給j;

2.調用函數get(j),將j的值 賦值給i,i和j的值都會指向100;

3.將100賦值給i;

4.最后,函數結束后,i被刪掉,可以發(fā)現在函數中并沒有訪問變量j。

在Python使用中我們也會使用關鍵字參數,主要是對輸出起到固定的拼接作用,其存在兩個特點:

1. 清晰地指出了參數值,有助于提高程序的可讀性;

2. 關鍵字參數的順序無關緊要 。

3 模塊

在Python中,模塊就是指系列的對函數和變量得使用。其組成就是函數、變量。如果使用Python解釋器運行,進入退出后,你會發(fā)現定義的所有變量和函數都消失了,所以就有了python模塊的由來。首先,創(chuàng)建模塊需要創(chuàng)建一個*.py文件,在這個文件中需要包含用于完成任務的函數。例如之前的示例:求輸入不同半徑的圓的面積。

import  math
 
def round_area(x):
    return math.pi * x ** 2
 
if __name__ == "__main__":
    x = int(input())
    area = round_area(x)
    print("半徑為" + str(x) +"cm的圓的面積為:"+ str(area))

模塊與常規(guī) Python 程序之間唯一的差別 是用途不同:模塊是一個由函數組成的工具 箱,用于編寫其他程序。因此,模塊通常沒有 main() 函數。 此處不好編寫模塊函數示例,舉一個python自帶模塊,math模塊。

Python中變量,參數和模塊的示例分析

>>> math.exp(9)
8103.083927575384

 對于自定義模塊的編寫,我們還需要注意其命名空間-一組獨特的變量名和函數名,這個在我們調用模塊包是會經常用到,就用jupyter舉個簡單的示例:第一行是引用整個math模塊,第二行僅僅表示使用math模塊中的sqrt函數。

Python中變量,參數和模塊的示例分析

import math 引用python標準庫的math.py模塊,math.exp()是一個包含參數9的函數。Python中的模塊搜索路徑就是:當Python解釋器遇到import關鍵字時,就會先進行搜索所有目錄列表,如下:

#!/usr/bin/python
#file_name:test.py
def print_func( name):
    print ("Hello : ", name)
    return
#!/usr/bin/python
# Filename: train.py
 
# 導入模塊
import test
 
# 現在可以調用模塊里包含的函數了
test.print_func("kaka")

Python中變量,參數和模塊的示例分析

以上是“Python中變量,參數和模塊的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI