Là khai báo biến ẩn trong python

Tom Anderson

2005-06-14 10. 42. 27 UTC

liên kết cố định

Có bất kỳ tiện ích phản ánh nào trong python mà tôi có thể sử dụng để xác định
biến có tên được lưu trữ trong một biến khác không?
x = "myVarName . Và làm cách nào tôi có thể truy cập hoàn toàn vào đó sau?
what can I do to declare a new variable with the name of the string stored
in x. And how can I access that implicitly later ?

Bạn có hoàn toàn chắc chắn muốn làm điều này?

Bạn đã bao giờ nghe nói về lập trình meta chưa? .
wouldn't seem this odd to you.

Ồ, tôi có. Chỉ là tôi cũng đã thấy khoảng một tỷ bài đăng từ
lập trình viên mới hỏi chính xác câu hỏi đó, khi hóa ra thứ
họ thực sự muốn là một cuốn từ điển, . Nếu đó là
trường hợp, việc trả lời câu hỏi của bạn sẽ không giải quyết được vấn đề của bạn, và tôi muốn
giải quyết vấn đề của bạn.

Nếu không, hãy thử.

x = "myVarName"
y = "myVarValue"
locals()[x] = y

What did you mean by "And how can I access that implicitly later?"?

tom

--
I content myself with the Speculative part [...], I care not for the Practick. I seldom bring any thing to use, 'tis not my way. Knowledge is my ultimate end. -- Sir Nicholas Gimcrack

Ali Razavi

2005-06-14 15. 48. 14 UTC

liên kết cố định


Có tiện ích phản ánh nào trong python
mà tôi có thể sử dụng để xác định một biến có
tên được lưu trữ trong một biến khác không?
x = "myVarName"
what can I do to declare a new variable with the name of the string
stored in x. And how can I access that implicitly later ?

Bất cứ khi nào bạn thấy mình muốn xác định gián tiếp các biến như
this, thì rất có thể bạn sẽ nhận được kết quả tốt hơn (nhanh hơn, ít
rủi ro bảo mật hơn .
readable) if you change the algorithm.
x = "myVarName"
create_real_variable(x, some_value)
in dữ liệu myVarName
. some_value}
dữ liệu in["myVarName"]
In nhanh, rõ ràng, dễ đọc, dễ bảo trì, không có rủi ro bảo mật
using exec, and other Python programmers won't laugh at you behind your
back

Tôi không viết chương trình thực sự, chỉ tóm tắt một số ngôn ngữ
(Python, Smalltalk, Ruby,. ) cơ sở lập trình meta và so sánh
chúng với nhau, cuối cùng nó sẽ chỉ là một bài báo học thuật. Do đó
Tôi chỉ đang thử mọi thứ mà không phải lo lắng về hậu quả
trong thế giới thực của chúng. Và vâng, bạn nói đúng, tôi không phải là lập trình viên Python,
thành thật mà nói, tôi không phải là lập trình viên "bất kỳ ngôn ngữ" thực sự nào, vì tôi chưa bao giờ
written any big programs except my school works, and I don't even intend
to become one, Sorry it's just too boring and repetitive, there are much
more exciting stuff for me in computer engineering and science than
programming, so I will leave the hard coding job to you guys and let you
laugh behind the back of whoever you want!
Chúc bạn vui vẻ.

Tom Anderson

2005-06-13 23. 04. 10 UTC

liên kết cố định

[snap]


MAtrix có mọi thứ trong đó. súng, nhảy ra khỏi tường, bay
súng, một viên đạn, máy tính độc ác, những con số đã bay, bay
đạn súng trong chuyển động chậm, nhảy vào .
computar hackeing, Kevin Mitnick, oven trailers, a old womans kitchen,
stairs, mature women in clotheing, head spark plugs, mechaanical
squids, Japaneseses assasins, tiem traval, volcanos, a monstar, slow
time at fastar speed, magic, wizzards, some dirty place, Kung Few,
fighting, a lot of mess explodsians EVARYWHERE, and just about anything
else yuo can names!

...with greetings to Carnivore ;)

À, tên ăn thịt già tội nghiệp. Tôi hơi cảm thấy tiếc cho điều đó khi cố gắng tìm
địa chỉ giữa một mạng internet có hàng tỷ người
nói huyên thuyên về mọi thứ, thực sự. Có lẽ FBI nên kết nối
với SETI ở nhà nhé các bạn. Xét cho cùng, nếu họ có thể tìm thấy trí thông minh ở
không gian bên ngoài, thì chắc chắn họ có thể tìm thấy nó trên internet?

Thực ra, suy nghĩ lại.

tom

--
Khi nhìn thấy một người đàn ông đi xe đạp, tôi có hy vọng cho loài người. -- H. g. Giếng

Python, giống như bất kỳ ngôn ngữ kịch bản động nào khác, cho phép khai báo biến ngầm định. Thực ra nó không phải là “khai báo biến” mà là “gán”. Sau khi được gán, đối tượng ở phía bên tay trái đề cập đến kết quả ở phía bên tay phải. Python không hỗ trợ khai báo biến rõ ràng (Cython có)

Rõ ràng có nghĩa là khai báo biến như trong c. Khai báo ngầm định trong khai báo biến trong python. Trong Rõ ràng, chúng ta nên sử dụng. ngầm định không cần truyền

Vị trí bộ nhớ được đặt tên để lưu trữ dữ liệu tạm thời trong chương trình, giá trị biến có thể thay đổi trong suốt chương trình và Biến lưu trữ trong bộ nhớ chính RAM. Khai báo ngầm kiểu dữ liệu trong Python, tức là không khai báo kiểu dữ liệu trước khi khai báo biến

khai báo và truy cập biến ẩn. Diễn đàn Python trên byte

Khai báo biến không "ngầm" - không có khai báo biến. Chỉ có nhiệm vụ. Điều khác biệt duy nhất trong lần đầu tiên bạn gán cho một cái tên so với. mọi lúc, là không có giá trị được gán trước đó cho tên đó để ngừng đặt tên. Trường hợp đặc biệt không đủ đặc biệt

Bạn sử dụng các biến ẩn này bằng cách nhập biến mà bạn đã khai báo, một dấu gạch dưới, rồi nhập biến ẩn. Ví dụ: nếu một biến có tên là siteid được chỉ định cho một tập lệnh, thì dòng mã siteid_readonly=True sẽ khiến thuộc tính siteid được liên kết của đối tượng doanh nghiệp trở thành chỉ đọc. Loại biến ngầm định này không khả dụng cho các biến được liên kết với các loại liên kết MAXVAR, SYSPROP hoặc LITERAL

các biến bắt đầu bằng x, y, z là phức tạp. các biến bắt đầu bằng c, s là ký tự có độ dài 4 byte. và tất cả các chữ cái khác có kiểu ẩn mặc định phức hợp ẩn (x, y, z), ký tự * 4 (c, s) Kiểu nhập ẩn không còn được coi là phương pháp hay nhất. Rất dễ mắc lỗi khi sử dụng kiểu gõ ngầm, vì lỗi chính tả có thể không được chú ý, e. g

Khai báo ngầm yêu cầu bạn chỉ có các kiểu dữ liệu biến thể (gõ ngầm). Để có kiểu gõ rõ ràng, bạn phải có khai báo rõ ràng

Các biến Python có ẩn không?

Trong Python, các biến chỉ được tham chiếu bên trong một hàm là toàn cục ngầm . Nếu một biến được gán một giá trị ở bất kỳ đâu trong phần thân của hàm, thì biến đó được coi là cục bộ trừ khi được khai báo rõ ràng là toàn cục.

Các biến được khai báo trong Python như thế nào?

Python không có lệnh khai báo biến . Một biến được tạo ngay khi bạn gán giá trị cho nó lần đầu tiên.

Biến ẩn là gì?

Biến ẩn là biến mà bạn không định nghĩa . Các biến này được cung cấp tự động bởi khung. Một số biến ẩn không được liên kết với bất kỳ biến nào khác, trong khi các biến ẩn khác chỉ hợp lệ khi chúng được liên kết với một biến mà bạn khai báo.