Artikel ini akan membantu anda memahami pembolehubah dan pemalar dalam Python

Lepaskan: 2023-07-25 14:15:50
ke hadapan
2179 orang telah melayarinya

1. Perbezaan antara pembolehubah dan pemalar

Pembolehubah: Jumlah yang nilainya berubah semasa program dijalankan.

Malar: Kuantiti yang nilainya tidak akan berubah semasa program dijalankan.

Sama ada ia pembolehubah atau pemalar, ruang akan diperuntukkan dalam memori apabila ia dicipta untuk menjimatkan nilainya.


2. Pembolehubah

1. Pembolehubah dalam Python tidak perlu mengisytiharkan jenis

Ini berdasarkan ciri bahasa dinamik Python. Pembolehubah boleh digunakan secara langsung tanpa mengisytiharkan jenis terlebih dahulu. Sebagai contoh, empat pembolehubah berikut a, b, c, dan d tidak mempunyai sebarang pengisytiharan jenis seperti int a, str b, senarai c, int d sebelum digunakan, yang diperlukan dalam bahasa C dan bahasa pengaturcaraan JAVA.

Contohnya:

 a = 4
 b = "haha"
 c = []
 d = 9-5
Salin selepas log masuk

2 Gunakan tanda "=" untuk menetapkan nilai kepada pembolehubah

a = 100
Salin selepas log masuk

Tanda yang sama di sini hendaklah dibaca sebagai "tugasan", dan tidak sepatutnya dibaca sebagai "tugasan". "sama dengan", " "Tugasan" ialah operasi pada pembolehubah, manakala "sama" ialah perbandingan dua pembolehubah. Empat pembolehubah a, b, c, dan d di atas diberikan nilai yang berbeza melalui tanda "=".

3 Setiap pembolehubah mesti diberikan nilai sebelum digunakan, dan pembolehubah tidak akan dibuat sehingga ia diberikan nilai.

Pembolehubah baharu mencipta dan membuka ruang memori serta menyimpan nilai melalui tindakan tugasan. Jika digunakan terus tanpa tugasan, pengecualian yang dirujuk sebelum tugasan atau pengecualian yang tidak dinamakan akan dibuang.

Contohnya:

a       # 孤单单一个a,什么也表示不了,只能报错
a = 1   # 这样就没问题了,解释器知道a是个新变量了
c.append(1)     # c是个什么鬼?
NameError: name 'c' is not defined
Salin selepas log masuk

Hasil:

Artikel ini akan membantu anda memahami pembolehubah dan pemalar dalam Python

Artikel ini akan membantu anda memahami pembolehubah dan pemalar dalam Python

Dalam Python, pembolehubah itu sendiri tidak mempunyai konsep

sebagai "variasi" itu sendiri. jenis mampu " ialah pembolehubah Jenis objek yang dirujuk, atau jenis nilai pembolehubah.

a = 1
a = "haha"
a = [1, 2, 3]
a = { "k1":"v1"}
Salin selepas log masuk

变量a在创建的时候,赋予了值为1的整数类型,然后又被改成字符串“haha”,再又变成一个列表,最后是个字典。变量a在动态的改变,它的值分别是不同的数据类型,这是动态语言的特点。

5. “=”号这个赋值运算符是从右往左的计算顺序

a = 1
b = 2
c = a + b  # 先计算a+b的值,再赋给c
print(c)
Salin selepas log masuk

Artikel ini akan membantu anda memahami pembolehubah dan pemalar dalam Python

6. Python允许同时为多个变量赋值

(例如:a = b = c = 1,最终大家都是1)。也可以同时为多个变量赋值,用逗号分隔,逐一对应。

例如:a, b, c = 1, 2, 3,最后a是1,b是2,c是3。

不要把赋值语句的等号等同于数学的等号。

x = 1


x = x + 2
Salin selepas log masuk

如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果3,再赋给变量x。由于x之前的值是1,重新赋值后,x的值变成3。

a = 'ABC'时,Python解释器干了两件事情:

1. 在内存中创建了一个‘ABC’的字符串对象;

2. 在内存中创建了一个名为a的变量,并把它指向'ABC'。

也可以把一个变量a赋值给另一个变量b,这个操作实际上是将变量b指向变量a所指向的数据,

例如下面的代码:

a = 'Jack'
b = a
a = 'Tom'
print(b)
print(a)
Salin selepas log masuk

最后变量b的内容到底是'Jack'还是'Tom'?如果从数学意义上理解,就会错误地得出b和a相同是‘Tom’,但实际上b的值还是'Jack ‘!

请牢记:Python中的一切都是对象,变量是对象的引用!

图:

Artikel ini akan membantu anda memahami pembolehubah dan pemalar dalam Python

执行a = ‘Jack’,解释器创建字符串‘Jack’对象和变量a,并把a指向‘Jack’对象;

执行b = a,解释器创建变量b,并且将其指向变量a指向的字符串‘Jack’对象;

执行a = ‘Tom’,解释器创建字符串‘Tom’对象,并把a改为指向‘Tom’对象,与b无关。


三、常量

常量就是不变的变量,比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359
Salin selepas log masuk

    但事实上,从Python语法角度看,PI仍然是一个变量,因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。

    常量通常放置在代码的最上部,并作为全局使用。


四、总结

    本文基于Python基础,主要介绍了Python基础中变量和常量的区别,对于变量的用法做了详细的讲解,用丰富的案例 ,代码效果图的展示帮助大家更好理解 。

Atas ialah kandungan terperinci Artikel ini akan membantu anda memahami pembolehubah dan pemalar dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:Go语言进阶学习
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan