導航:首頁 > 編程語言 > python動態定義變數

python動態定義變數

發布時間:2023-01-02 15:03:43

A. python定義一個變數

a=111111111
print(a)
先對a進行定義,a就是一個變數

B. 如何用python動態生成變數名字

你好,方法如下:
要寫一個程序,讓linuxany1=1,linuxany2=2,… inuxany100=100,你會怎麼做?
最容易想到的自然是eval,但是實際上根本不需要這種危險的東西,因為Python的變數名就是一個字典的key而已。要獲取這個字典,直接用locals和globals函數即可。
>>> names = locals()

>>> for i in xrange(1, 101):

... names['linuxany%s' % i] = i

... >>> linuxany1
1 >>> linuxany2
2 >>> linuxany100
100
不過你也許會說這個例子沒什麼用,畢竟用數組來實現更為實用。
舉一個例子:伺服器使用一種對象資料庫,可以直接保存對象到資料庫中。伺服器列出目前支持的所有類,而用戶想添加一個不存在於列表中的類,於是向伺服器發送一段JSON或XML文本。伺服器解析這段文本,將它轉換成一個class對象,並且設置類名。之後用戶就可以隨意生成這個類的對象。
關鍵是這個資料庫和類名相關,你不能用一個通用的Object類來保存所有的對象,否則查詢時就亂套了。
除了動態設置變數名,動態刪除也是可以的,例如
del locals()['linuxany1']
同樣,delattr也是可用的。
希望能幫到你。

C. python如何解決動態的定義變數名,並給其賦

變數名字只是為了用戶使用方便而使用的,對於計算機,根本就不知道這中間的東西,看待這些都是使用內存的地址來判別的,對於你這樣的情況是無法直接利用java實現的,不過可以使用另外一種方法.
就是定義一個類,類中有兩個屬性,一個是String類型,一個是int類型,這樣循環定義100個對象,每個對象的String類型成員存放的是int1....int100,而int類性的成員則存放的是相應的數值。這樣一來就可以輕松解決了,而且這一百個對象可以定義成例如 Fun[]bj=new Fun[100];這樣一來,就可以利用數組的操作來實現任意操作了!!

D. python 類裡面怎麼使用動態的變數名

class ToolbarFrame(wx.Frame):
def __init__(self,id):
self.__dict__['test_%d'%1] = 1

E. python中如何定義變數

Python 中的變數賦值不需要類型聲明,這一點和其他java,c,c++語言都不相同。
counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = "John" # 字元串
print counter
print miles
print name
----------------------
執行以上程序會輸出如下結果:
100
1000.0
John

F. python怎麼定義一個變數

這個做不到。1樓的做法不能達到目的。定義普通整數時,佔用的內存是4位元組。如果是為了讀寫二進制數據

G. 淺談python中的變數賦值

在python中,變數賦值的語法比較簡單,語法就是 「變數名 = 對象」,由於python屬於動態語音,所以不需要像c、 java那樣在變數賦值時需要聲明變數的類型。

c 變數賦值

int x = 1;

python 變數賦值

x = 1

y = "hello world!"

a = [1, 2]

b = ('a', 'b')

c = {"foo": "bar"}

python 變數賦值中,所涉及到的變數命名是有一定規則的:

1. 變數名只能包含字母、數字和下劃線。變數名可以字母或下劃線開頭,但不能以數字開頭,例如,可將變數命名為name_1,但不能將其命名為1_name

2. 變數名不能包含空格,但可使用下劃線來分隔其中的單詞。例如,變數名name_one可行,但變數名name one會引發錯誤。

3. 不要將Python關鍵字和函數名用作變數名,即不要使用Python保留用於特殊用途的單詞,如not、pass等。

4. 變數名應既簡短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好, 雖說簡短好,但是不能依照自己的意願隨意簡寫,盡量使用大家約定俗成的簡寫,如果不是還不如寫全拼。

5. python 變數名中大小寫敏感,所以 NAME, Name, name 代表三個不同的表裡名, 這里提一下就是慎用小寫字母l和大寫字母O,因給他們可能被人錯看成數字1和0;

再說變數賦值中賦予給變數的值,python中萬事皆對象,所以python中只要是對象就能給變數賦值。如:

    x = 1 # x賦值為數字1;

    x = sum # x賦值為內建求和函數sum;

python的賦值真實上說應該不是賦值,而更像是「引用」,如何理解「引用」呢,python中一直對象的生成是會在內存中分配給一個內存地址,這個內存地址可以使用id()方法去獲取,然後在變數賦值時,將變數直接引用該對象的內存地址,進而完成變數賦值,如:

    x = 1, 賦值時x直接引用1所在內存的地址, y = x, 此時是y直接引用x的所指向的內存地址

python中有判斷變數的方法如 is() 和 ==,二者在判斷變數時是有區別的,is函數是判斷變數的內存地址是否相同,而 == 是判斷變數的值是否相同,舉例說明:

    a = 1; b = 1.0

    a is b  # False

    a == b # True

小心python變數賦值的陷阱

    看到上面的所述知道了python變數賦值實則是引用,引用的是對象的內存地址。所賦的值可以分兩類,一類是可變的,如列表,字典,集合;一類是不可變的,如字元串、元組。所以當對象為可變類型時就會出現一種情景,我們舉例說明:

    x = [1, 2, 3]

    y = x

    print x == y    # True

    print x is y    # True

    print x     # [1, 2, 3]

    print y     # [1, 2, 3]

    y.append(4)

    print x    # [1, 2, 3, 4]

    print y    # [1, 2, 3, 4]

可以看到y在進行調整時(添加了一個元素),x也跟著變動了,這進一步說明了,python中的變數賦值時引用,x,y 賦值時指向了同一處內存地址,所以當y變動時,x同樣也發送了變化,解決這中現象的方法可以是x, y = [1,2,3], [1,2,3]這樣賦值,雖說此時 x==y 是True,但是確實是2個不同的內存地址,所以 x is y 則是 False。或者可以使用模塊,實質是相同的,創建2個不同的內存地址,使其分離。

H. python 定義變化的變數名稱

利用命名空間動態賦值。在 Python 的命名空間中,將變數名與值存儲在字典中,可以通過 locals(),globals() 函數分別獲取局部命名空間和全局命名空間。
實例:
names = locals()
for i in range(5):
names['n' + str(i) ] = i
print(n0, n1, n2, n3, n4)
輸出結果:
0 1 2 3 4

I. python可以不加聲明就使用變數

是的,Python允許在程序中使用未聲明的變數。但是,這並不是一個好的編程實踐,因為在使用未聲明的變數時,可能會導致一些問題。例如,如果你誤解了變數的名稱或類型,那麼這可能會導致程序出錯。因此,最好還是聲明變數並給它們賦初值。

J. Python中在定義變數時為什麼不需要指定數據類型

Python是一門動態語言,也可以稱為是一種弱類型語言,在變數定義時,並不需要明確的給出數據的類型,程序在執行時,解釋器會根據實際數據的類型進行自動推導。Python定義變數全套的教程在黑馬程序員都可以找到,講的老師很有名。免費的。

閱讀全文

與python動態定義變數相關的資料

熱點內容
APP版本低手機安不了怎麼辦 瀏覽:910
不壓縮圖片大全 瀏覽:217
java獲取數組下標 瀏覽:966
java數組常量 瀏覽:841
美術史pdf 瀏覽:651
復制圖片怎樣解壓 瀏覽:134
和孩子一起編程 瀏覽:571
拆iphone手機盒解壓 瀏覽:271
java分號轉義 瀏覽:185
dex編譯器漢化版 瀏覽:353
讀取文件夾設置 瀏覽:52
自動備份文件加密 瀏覽:215
upnp編程java 瀏覽:462
app五星好評怎麼解鎖 瀏覽:237
程序員怎麼個人接單 瀏覽:320
耳機配什麼app最好 瀏覽:985
三星s9代碼查詢命令大全 瀏覽:444
天津阿里雲伺服器機櫃物理機 瀏覽:56
什麼安卓手機有靜音鍵 瀏覽:787
php介面api開源項目 瀏覽:43