Biến nhạy cảm Python

Một biến có thể có tên ngắn (như x và y) hoặc tên mô tả hơn (tuổi, carname, total_volume)

Quy tắc cho các biến Python

  • Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới
  • Tên biến không được bắt đầu bằng số
  • Tên biến chỉ có thể chứa các ký tự chữ và số và dấu gạch dưới (A-z, 0-9 và _ )
  • Tên biến phân biệt chữ hoa chữ thường (tuổi, Tuổi và TUỔI là ba biến khác nhau)

Thí dụ

#Tên biến pháp lý.
myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John"

#Tên biến không hợp lệ.
2myvar = "John"
my-var = "John"
my var = "John"

Tự mình thử »

Hãy nhớ rằng tên biến phân biệt chữ hoa chữ thường




Trong hướng dẫn trước về Các kiểu dữ liệu cơ bản trong Python, bạn đã thấy cách tạo giá trị của các loại dữ liệu Python khác nhau. Nhưng cho đến nay, tất cả các giá trị được hiển thị đều là giá trị theo nghĩa đen hoặc hằng số

>>>

>>> print(5.3)
5.3

Nếu bạn đang viết mã phức tạp hơn, chương trình của bạn sẽ cần dữ liệu có thể thay đổi khi tiến hành thực thi chương trình

Đây là những gì bạn sẽ học trong hướng dẫn này. Bạn sẽ tìm hiểu cách mọi mục dữ liệu trong chương trình Python có thể được mô tả bằng đối tượng thuật ngữ trừu tượng và bạn sẽ học cách thao tác với các đối tượng bằng các tên tượng trưng được gọi là biến

Tải xuống PDF miễn phí. Bảng cheat Python 3

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Biến Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

Chuyển nhượng biến

Hãy nghĩ về một biến như một cái tên gắn liền với một đối tượng cụ thể. Trong Python, các biến không cần phải khai báo hoặc định nghĩa trước, như trường hợp của nhiều ngôn ngữ lập trình khác. Để tạo một biến, bạn chỉ cần gán cho nó một giá trị và sau đó bắt đầu sử dụng nó. Phép gán được thực hiện với một dấu bằng duy nhất (______12)

>>>

>>> n = 300

Điều này được đọc hoặc giải thích là “

>>> print(n)
300
3 được gán giá trị
>>> print(n)
300
4. ” Khi điều này được thực hiện,
>>> print(n)
300
3 có thể được sử dụng trong một câu lệnh hoặc biểu thức và giá trị của nó sẽ được thay thế

>>>

>>> print(n)
300

Giống như một giá trị bằng chữ có thể được hiển thị trực tiếp từ lời nhắc của trình thông dịch trong phiên REPL mà không cần

>>> print(n)
300
6, một biến cũng vậy.

>>>

>>> n
300

Sau này, nếu bạn thay đổi giá trị của

>>> print(n)
300
3 và sử dụng lại, giá trị mới sẽ được thay thế

>>>

>>> print(n)
300
0

Python cũng cho phép gán theo chuỗi, giúp có thể gán cùng một giá trị cho nhiều biến cùng một lúc

>>>

>>> print(n)
300
1

Bài tập chuỗi ở trên gán đồng thời

>>> print(n)
300
4 cho các biến
>>> print(n)
300
9,
>>> n
300
0 và
>>> n
300
1

Loại bỏ các quảng cáo

Các kiểu biến trong Python

Trong nhiều ngôn ngữ lập trình, các biến được nhập tĩnh. Điều đó có nghĩa là một biến ban đầu được khai báo có một kiểu dữ liệu cụ thể và bất kỳ giá trị nào được gán cho nó trong suốt thời gian tồn tại của nó phải luôn có kiểu đó

Các biến trong Python không bị hạn chế này. Trong Python, một biến có thể được gán một giá trị của một loại và sau đó được gán lại một giá trị của một loại khác

>>>

>>> print(n)
300
6

Tham chiếu đối tượng

Điều gì đang thực sự xảy ra khi bạn thực hiện một phép gán biến?

Python là một ngôn ngữ hướng đối tượng cao. Trên thực tế, hầu như mọi mục dữ liệu trong chương trình Python đều là đối tượng của một loại hoặc lớp cụ thể. (Điểm này sẽ được nhắc lại nhiều lần trong các bài hướng dẫn này. )

Hãy xem xét mã này

>>>

>>> print(n)
300
7

Khi được trình bày với tuyên bố

>>> n
300
2, thông dịch viên làm như sau

  • Tạo một đối tượng số nguyên
  • Cung cấp cho nó giá trị
    >>> print(n)
    300
    
    4
  • Hiển thị nó trên bàn điều khiển

Bạn có thể thấy rằng một đối tượng số nguyên được tạo bằng hàm

>>> n
300
4 tích hợp

>>>

>>> n = 300
1

Một biến Python là một tên tượng trưng là một tham chiếu hoặc con trỏ tới một đối tượng. Khi một đối tượng được gán cho một biến, bạn có thể gọi đối tượng bằng tên đó. Nhưng bản thân dữ liệu vẫn được chứa trong đối tượng

Ví dụ

>>>

>>> n = 300

Phép gán này tạo một đối tượng số nguyên có giá trị

>>> print(n)
300
4 và gán biến
>>> print(n)
300
3 để trỏ tới đối tượng đó

Biến nhạy cảm Python
Chuyển nhượng biến

Đoạn mã sau xác minh rằng

>>> print(n)
300
3 trỏ đến một đối tượng số nguyên

>>>

>>> n = 300
0

Bây giờ hãy xem xét tuyên bố sau

>>>

>>> n = 300
1

Điều gì xảy ra khi nó được thực thi? . Nó chỉ đơn giản là tạo một tên tượng trưng hoặc tham chiếu mới,

>>> n
300
8, trỏ đến cùng một đối tượng mà
>>> print(n)
300
3 trỏ đến

Biến nhạy cảm Python
Nhiều tham chiếu đến một đối tượng

Tiếp theo, giả sử bạn làm điều này

>>>

>>> n = 300
2

Bây giờ Python tạo một đối tượng số nguyên mới với giá trị

>>> print(n)
300
00 và
>>> n
300
8 trở thành một tham chiếu đến nó

Biến nhạy cảm Python
Tham chiếu đến các đối tượng riêng biệt

Cuối cùng, giả sử câu lệnh này được thực hiện tiếp theo

>>>

>>> n = 300
3

Bây giờ Python tạo một đối tượng chuỗi có giá trị

>>> print(n)
300
02 và tạo tham chiếu
>>> print(n)
300
3

Biến nhạy cảm Python
đối tượng mồ côi

Không còn bất kỳ tham chiếu nào đến đối tượng số nguyên

>>> print(n)
300
4. Nó mồ côi, và không có cách nào để truy cập nó

Các hướng dẫn trong loạt bài này đôi khi sẽ đề cập đến thời gian tồn tại của một đối tượng. Vòng đời của một đối tượng bắt đầu khi nó được tạo, tại thời điểm đó ít nhất một tham chiếu đến nó được tạo. Trong thời gian tồn tại của một đối tượng, các tham chiếu bổ sung đến đối tượng đó có thể được tạo, như bạn đã thấy ở trên và các tham chiếu đến đối tượng đó cũng có thể bị xóa. Một đối tượng vẫn tồn tại miễn là có ít nhất một tham chiếu đến nó

Khi số lượng tham chiếu đến một đối tượng giảm xuống 0, nó không thể truy cập được nữa. Tại thời điểm đó, cuộc sống của nó đã kết thúc. Python cuối cùng sẽ nhận thấy rằng nó không thể truy cập được và lấy lại bộ nhớ đã cấp phát để nó có thể được sử dụng cho mục đích khác. Trong biệt ngữ máy tính, quá trình này được gọi là thu gom rác

Loại bỏ các quảng cáo

Nhận dạng đối tượng

Trong Python, mọi đối tượng được tạo đều được cấp một số xác định duy nhất đối tượng đó. Đảm bảo rằng không có hai đối tượng nào có cùng mã định danh trong bất kỳ khoảng thời gian nào mà thời gian tồn tại của chúng trùng nhau. Sau khi số lượng tham chiếu của một đối tượng giảm xuống 0 và nó được thu gom rác, như đã xảy ra với đối tượng

>>> print(n)
300
4 ở trên, thì số nhận dạng của nó sẽ khả dụng và có thể được sử dụng lại

Hàm Python tích hợp sẵn

>>> print(n)
300
06 trả về mã định danh số nguyên của đối tượng. Sử dụng hàm
>>> print(n)
300
06, bạn có thể xác minh rằng hai biến thực sự trỏ đến cùng một đối tượng

>>>

>>> n = 300
4

Sau khi gán

>>> print(n)
300
08,
>>> n
300
8 và
>>> print(n)
300
3 đều trỏ đến cùng một đối tượng, được xác nhận bởi thực tế là
>>> print(n)
300
11 và
>>> print(n)
300
12 trả về cùng một số. Khi
>>> n
300
8 được gán lại cho
>>> print(n)
300
00,
>>> n
300
8 và
>>> print(n)
300
3 trỏ đến các đối tượng khác nhau với các danh tính khác nhau

Lặn sâu. Lưu vào bộ nhớ đệm các giá trị số nguyên nhỏ

Từ những gì bạn đã biết về phép gán biến và tham chiếu đối tượng trong Python, những điều sau đây có lẽ sẽ không làm bạn ngạc nhiên

>>>

>>> n = 300
5

Với câu lệnh

>>> print(n)
300
17, Python tạo một đối tượng số nguyên có giá trị
>>> print(n)
300
4 và đặt
>>> n
300
8 làm tham chiếu đến nó. Sau đó,
>>> print(n)
300
3 được gán tương tự cho một đối tượng số nguyên có giá trị
>>> print(n)
300
4—nhưng không phải cùng một đối tượng. Do đó, chúng có các danh tính khác nhau mà bạn có thể xác minh từ các giá trị được trả về bởi
>>> print(n)
300
06

Nhưng hãy xem xét điều này

>>>

>>> n = 300
6

Ở đây,

>>> n
300
8 và
>>> print(n)
300
3 được gán riêng cho các đối tượng số nguyên có giá trị
>>> print(n)
300
65. Nhưng trong trường hợp này,
>>> print(n)
300
11 và
>>> print(n)
300
12 giống hệt nhau

Với mục đích tối ưu hóa, trình thông dịch tạo các đối tượng cho các số nguyên trong phạm vi

>>> print(n)
300
68 khi khởi động, sau đó sử dụng lại chúng trong khi thực hiện chương trình. Do đó, khi bạn gán các biến riêng biệt cho một giá trị số nguyên trong phạm vi này, chúng sẽ thực sự tham chiếu đến cùng một đối tượng

Tên biến

Các ví dụ bạn đã thấy cho đến nay đã sử dụng các tên biến ngắn gọn như

>>> n
300
8 và
>>> print(n)
300
3. Nhưng tên biến có thể dài dòng hơn. Trên thực tế, nó thường có lợi nếu chúng có lợi vì nó làm cho mục đích của biến trở nên rõ ràng hơn ngay từ cái nhìn đầu tiên

Chính thức, tên biến trong Python có thể dài bất kỳ và có thể bao gồm chữ hoa và chữ thường (

>>> print(n)
300
71,
>>> print(n)
300
72), chữ số (
>>> print(n)
300
73) và ký tự gạch dưới (
>>> print(n)
300
74). Một hạn chế bổ sung là mặc dù tên biến có thể chứa các chữ số nhưng ký tự đầu tiên của tên biến không được là một chữ số

Ghi chú. Một trong những bổ sung cho Python 3 là hỗ trợ Unicode đầy đủ, cho phép cả các ký tự Unicode trong tên biến. Bạn sẽ tìm hiểu sâu hơn về Unicode trong hướng dẫn trong tương lai

Ví dụ: tất cả những điều sau đây đều là tên biến hợp lệ

>>>

>>> n = 300
7

Nhưng cái này thì không, vì tên biến không thể bắt đầu bằng một chữ số

>>>

>>> n = 300
8

Lưu ý rằng trường hợp đó là đáng kể. Chữ thường và chữ hoa không giống nhau. Việc sử dụng ký tự gạch dưới cũng rất quan trọng. Mỗi điều sau đây xác định một biến khác nhau

>>>

>>> n = 300
9

Không có gì ngăn cản bạn tạo hai biến khác nhau trong cùng một chương trình có tên là

>>> print(n)
300
75 và
>>> print(n)
300
76, hoặc đối với vấn đề đó là
>>> print(n)
300
77. Nhưng nó có lẽ là không nên. Nó chắc chắn có khả năng gây nhầm lẫn cho bất kỳ ai đang cố đọc mã của bạn và ngay cả chính bạn, sau khi bạn không sử dụng nó một thời gian

Cần đặt cho một biến một cái tên đủ mô tả để làm rõ nó đang được sử dụng cho mục đích gì. Ví dụ: giả sử bạn đang kiểm đếm số người đã tốt nghiệp đại học. Bạn có thể hình dung có thể chọn bất kỳ điều nào sau đây

>>>

>>> print(n)
300
0

Tất cả chúng có lẽ là những lựa chọn tốt hơn so với

>>> print(n)
300
3, hoặc
>>> print(n)
300
79, hoặc tương tự. Ít nhất bạn có thể biết từ tên giá trị của biến được cho là đại diện

Mặt khác, chúng không nhất thiết phải dễ đọc như nhau. Đối với nhiều thứ, đó là vấn đề sở thích cá nhân, nhưng hầu hết mọi người sẽ thấy hai ví dụ đầu tiên, trong đó tất cả các chữ cái được xếp chồng lên nhau, khó đọc hơn, đặc biệt là ví dụ toàn chữ in hoa. Các phương pháp được sử dụng phổ biến nhất để xây dựng một tên biến nhiều từ là ba ví dụ cuối cùng

  • Trường hợp lạc đà. Các từ thứ hai và tiếp theo được viết hoa, để làm cho ranh giới từ dễ nhìn hơn. (Có lẽ, tại một thời điểm nào đó, ai đó đã nhận ra rằng các chữ in hoa rải rác khắp tên biến trông giống như bướu lạc đà một cách mơ hồ. )
    • Thí dụ.
      >>> n = 300
      
      10
  • Trường hợp Pascal. Giống với Camel Case, ngoại trừ từ đầu tiên cũng được viết hoa
    • Thí dụ.
      >>> n = 300
      
      11
  • trường hợp con rắn. Các từ được phân tách bằng dấu gạch dưới
    • Thí dụ.
      >>> n = 300
      
      12

Các lập trình viên tranh luận sôi nổi, với sự sôi nổi đáng ngạc nhiên, cái nào trong số này thích hợp hơn. Lập luận đàng hoàng có thể được thực hiện cho tất cả chúng. Sử dụng cái nào trong số ba cái hấp dẫn nhất đối với bạn. Chọn một và sử dụng nó một cách nhất quán

Sau này bạn sẽ thấy rằng các biến không phải là thứ duy nhất có thể được đặt tên. Bạn cũng có thể đặt tên cho hàm, lớp, mô-đun, v.v. Các quy tắc áp dụng cho các tên biến cũng áp dụng cho các mã định danh, thuật ngữ chung hơn cho các tên được đặt cho các đối tượng chương trình

Hướng dẫn Phong cách cho Mã Python, còn được gọi là PEP 8, chứa Quy ước Đặt tên liệt kê các tiêu chuẩn được đề xuất cho tên của các loại đối tượng khác nhau. PEP 8 bao gồm các khuyến nghị sau

  • Snake Case nên được sử dụng cho các hàm và tên biến
  • Trường hợp Pascal nên được sử dụng cho tên lớp. (PEP 8 gọi đây là quy ước “CapWords”. )

Loại bỏ các quảng cáo

Từ dành riêng (Từ khóa)

Có thêm một hạn chế về tên định danh. Ngôn ngữ Python dành riêng một tập hợp nhỏ các từ khóa chỉ định chức năng ngôn ngữ đặc biệt. Không đối tượng nào có thể trùng tên với từ dành riêng

Trong Trăn 3. 6, có 33 từ khóa dành riêng

Python
Keywords   

>>> n = 300
13
>>> n = 300
14
>>> n = 300
15
>>> n = 300
16
>>> n = 300
17
>>> n = 300
18
>>> n = 300
19
>>> n = 300
0
>>> n = 300
1
>>> n = 300
2
>>> n = 300
3
>>> n = 300
4
>>> n = 300
5
>>> n = 300
6
>>> n = 300
7
>>> n = 300
8
>>> n = 300
9
>>> n = 300
00
>>> n = 300
01
>>> n = 300
02
>>> n = 300
03
>>> n = 300
04
>>> n = 300
05
>>> n = 300
06
>>> n = 300
07
>>> n = 300
08
>>> n = 300
09
>>> n = 300
10
>>> n = 300
11
>>> n = 300
12
>>> n = 300
13
>>> n = 300
14
>>> n = 300
15

Bạn có thể xem danh sách này bất cứ lúc nào bằng cách gõ

>>> n = 300
16 vào trình thông dịch Python. Các từ dành riêng phân biệt chữ hoa chữ thường và phải được sử dụng chính xác như được hiển thị. Tất cả chúng đều hoàn toàn là chữ thường, ngoại trừ
>>> n = 300
13,
>>> n = 300
17 và
>>> n = 300
1

Cố gắng tạo một biến có cùng tên với bất kỳ từ dành riêng nào dẫn đến lỗi

>>>

>>> print(n)
300
1

Phần kết luận

Hướng dẫn này trình bày những kiến ​​thức cơ bản về biến Python, bao gồm tham chiếu đối tượng và danh tính cũng như đặt tên cho mã định danh Python

Bây giờ bạn đã hiểu rõ về một số kiểu dữ liệu của Python và biết cách tạo các biến tham chiếu các đối tượng thuộc các kiểu đó

Tiếp theo, bạn sẽ thấy cách kết hợp các đối tượng dữ liệu thành các biểu thức liên quan đến các hoạt động khác nhau

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Biến Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

« Các kiểu dữ liệu cơ bản trong Python

Biến trong Python

Toán tử và biểu thức trong Python »

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Biến trong Python

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Biến nhạy cảm Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về John Sturtz

Biến nhạy cảm Python
Biến nhạy cảm Python

John là một Pythonista cuồng nhiệt và là thành viên của nhóm hướng dẫn Real Python

» Thông tin thêm về John


Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Biến nhạy cảm Python

Đan

Biến nhạy cảm Python

Joanna

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Biến nhạy cảm Python

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi