Làm thế nào để bạn chuyển một biến thành một chuỗi trong python?

Chúng ta phải xác định một hàm sẽ chấp nhận đối số chuỗi và in nó. Sau đây, chúng ta sẽ tìm hiểu cách truyền giá trị chuỗi cho hàm?

Ví dụ

Input:
str = "Hello world"

Function call:
printMsg(str)

Output:
"Hello world"

Chương trình

# Python program to pass a string to the function

# function definition: it will accept 
# a string parameter and print it 
def printMsg(str):
	# printing the parameter 
	print str

# Main code 
# function calls 
printMsg("Hello world!")
printMsg("Hi! I am good.")

đầu ra

Hello world!
Hi! I am good.

Viết hàm chấp nhận một chuỗi và trả về tổng số nguyên âm

# function definition: it will accept 
# a string parameter and return number of vowels 
def countVowels(str):
	count = 0
	for ch in str:
		if ch in "aeiouAEIOU":
			count +=1 
	return count 

# Main code 
# function calls 
str = "Hello world!"
print "No. of vowels are {0} in \"{1}\"".format(countVowels(str),str)

str = "Hi, I am good."
print "No. of vowels are {0} in \"{1}\"".format(countVowels(str),str)

đầu ra

No. of vowels are 3 in "Hello world!"
No. of vowels are 5 in "Hi, I am good."

Chương trình chuỗi Python »


Trong hướng dẫn ngắn này, chúng tôi xem xét cách bạn có thể sử dụng biến in Python trong chuỗi. Chúng tôi xem xét tất cả các phương pháp khác nhau cùng với những hạn chế và lưu ý của chúng

Mục lục - Biến in Python

  • Biến in Python
  • In các biến sử dụng f-string
  • Sử dụng nối chuỗi
  • Các biến in trong Python sử dụng dấu phẩy “,”
  • Hạn chế và hãy cẩn thận - Biến in Python

Biến in Python

Trong khi in các chuỗi, người ta thường in các giá trị của một biến bên trong nó. Một ví dụ phổ biến là bạn có thể muốn in họ và tên trong một câu và các giá trị này được lưu trữ trong hai biến tương ứng

Các giá trị này không thể được mã hóa cứng thành chuỗi và cần được truyền động, do đó Python đi kèm với một vài hàm sẵn có cho phép bạn in các giá trị biến

In các biến sử dụng f-string

Sử dụng chuỗi f trong Python để in các biến là phương pháp được sử dụng phổ biến nhất và cá nhân tôi khuyên bạn nên sử dụng phương pháp này

Trong phương pháp này, một 'f' được đặt trước dấu ngoặc kép mở của một chuỗi. Dấu ngoặc nhọn {} được đặt xung quanh tên của các biến mà bạn đang muốn in. Python thay thế các biến này bằng các giá trị của chúng khi mã được thực thi và chuỗi được hiển thị

Những chuỗi như vậy được gọi là chuỗi f. Python còn cho phép bạn định dạng các chuỗi này bằng cách sử dụng các phương thức như ‘. trên' hoặc '. tiêu đề', v.v.

Mã - chuỗi f

language = "Python"

#Adding the language variable into a string
print(f"Hello {language} World!")

#Output = “Hello Python World!”

Ghi chú. Các chuỗi f này chỉ được giới thiệu trong Python 3. 6. Trong trường hợp bạn đang sử dụng các phiên bản Python sớm hơn, bạn sẽ phải sử dụng phương thức ‘format()’. Cú pháp cho điều đó như sau

Biến in Python - mã định dạng ()

language = "Python"

#Adding the language variable into a string
print("Hello {} World!".format(language))

#Output = “Hello Python World!”

Sử dụng nối chuỗi

Nối chuỗi là một phương thức có thể được sử dụng để cộng các chuỗi lại với nhau. Điều này được thực hiện bằng cách sử dụng ký tự “+” giữa hai biến hoặc chuỗi. Bằng cách này, chúng ta có thể sử dụng Python để in các giá trị biến cùng với chuỗi

Biến in Python - Nối chuỗi

language = "Python"

#Adding the language variable into a string
print("Hello" +" "+ language +" "+ "World!")

#Output - “Hello Python World!”

Trong khi sử dụng phương pháp này, khoảng trắng không được thêm vào và bạn sẽ phải thêm chúng theo cách thủ công và do đó phương pháp này không được sử dụng thường xuyên

Các biến in trong Python sử dụng dấu phẩy “,”

Phương thức này là một phương thức thường được sử dụng khác trong Python để in các biến. Phương thức này khá giống với phương thức nối chuỗi;

Trong khi lập trình với python, có một số trường hợp chúng ta có thể cần chuyển đổi một chuỗi thành tên biến. Chẳng hạn, hãy xem xét rằng chúng ta cần lấy một số dữ liệu người dùng làm đầu vào trong đó người dùng cần nhập một số tên trường và giá trị tương ứng của chúng. Chúng ta sẽ cần chuyển tên trường thành một biến để có thể gán giá trị cho chúng. Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để chuyển đổi chuỗi đầu vào thành tên biến trong python

Mục lục

Chuỗi và biến trong Python

Một biến trong python là một tham chiếu đến một đối tượng trong bộ nhớ. Chúng tôi sử dụng các biến trong python để xử lý các loại giá trị khác nhau. Khi chúng ta gán một giá trị cho một biến python, trình thông dịch sẽ tạo một đối tượng python cho giá trị đó. Sau đó, tên biến đề cập đến vị trí bộ nhớ. Bạn có thể định nghĩa một biến trong python như trong chương trình python sau

________số 8_______

đầu ra

Làm thế nào để bạn chuyển một biến thành một chuỗi trong python?

The value in myVar is: 5

Một chuỗi python là một chữ được chứa trong dấu ngoặc đơn hoặc dấu ngoặc kép. Chúng ta cũng có thể định nghĩa các chuỗi bằng cách sử dụng ba dấu ngoặc kép. Chúng ta có thể định nghĩa một giá trị chuỗi và gán nó cho một biến chuỗi như trong ví dụ sau

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)

đầu ra

The value in myStr is: PythonForBeginners

Trong ví dụ trên, chúng ta đã tạo một biến

The value in myStr is: PythonForBeginners
8. Sau đó, chúng ta đã gán chuỗi “______11_______9” cho
The value in myStr is: PythonForBeginners
8

Làm cách nào để truy cập tên biến trong Python?

Chúng ta có thể truy cập tên biến trong python bằng cách sử dụng hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1 và hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2.  

Hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1, khi được thực thi, trả về một từ điển chứa tất cả các tên biến dưới dạng chuỗi ký tự và giá trị tương ứng của chúng. Nó là một bảng ký hiệu toàn cầu chứa tất cả các tên được xác định trong phạm vi toàn cầu của chương trình. Bạn có thể quan sát điều này trong mã python sau

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)

đầu ra

The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fe3bfa934c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}

Trong ví dụ trên, bạn có thể quan sát thấy từ điển được trả về bởi hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1 chứa một số giá trị mặc định cũng như các biến do chúng tôi xác định.  

Hàm ____15_______1 trả về từ điển chỉ chứa các biến toàn cục làm khóa của nó. Khi chúng ta xác định một biến bên trong một hàm hoặc các phạm vi bên trong khác, chúng ta không thể truy cập các biến được xác định bên trong phạm vi đó bằng cách sử dụng hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1. Ví dụ, nhìn vào đoạn mã sau

def myFun():
    funvar1 = "Aditya"
    funVar2 = 1117
    print("I am in myFun. The variables in myFun are:")
    print(funvar1, funVar2)


myStr = "PythonForBeginners"
myNum = 5
myFun()
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)

đầu ra

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f9d18bb24c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7f9d18b6f280>, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}

Process finished with exit code 0

Trong ví dụ trên, chúng ta đã định nghĩa funvar1 và funvar2 trong hàm myFun. Tuy nhiên, các biến này không có trong bảng ký hiệu toàn cầu

Ngay cả khi chúng ta thực thi hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1 trong hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
8, các biến được xác định trong
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
8 sẽ không được đưa vào bảng ký hiệu chung. Bạn có thể quan sát điều này trong ví dụ sau

def myFun():
    funvar1 = "Aditya"
    funVar2 = 1117
    print("I am in myFun. The variables in myFun are:")
    print(funvar1, funVar2)
    print("The variables in global scope and their values are:")
    myVars = globals()
    print(myVars)


myStr = "PythonForBeginners"
myNum = 5
myFun()

đầu ra

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7eff3f70d4c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7eff3f6ca280>, 'myStr': 'PythonForBeginners', 'myNum': 5}

Để in các tên biến được xác định bên trong một hàm, chúng ta có thể sử dụng hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2

Hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2, khi được gọi bên trong một hàm hoặc phạm vi bên trong khác, trả về một từ điển trong đó tên biến và các giá trị được liên kết của chúng xuất hiện dưới dạng một cặp khóa-giá trị

Bạn có thể sử dụng câu lệnh in để in từ điển như hình bên dưới

The value in myVar is: 5
0

đầu ra

The value in myVar is: 5
1

Trong ví dụ trên, bạn có thể quan sát thấy từ điển được trả về bởi hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2 chứa các biến được định nghĩa bên trong
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
8

Hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2, khi được thực thi trong phạm vi toàn cầu, sẽ in từ điển chứa các biến toàn cục và giá trị của chúng. Bạn có thể quan sát điều này trong ví dụ sau

The value in myVar is: 5
2

đầu ra

The value in myVar is: 5
3

Bây giờ chúng ta đã thảo luận về cách chúng ta có thể truy cập tên biến trong python, bây giờ chúng ta hãy thảo luận về cách chúng ta có thể tạo biến động và xác định tên biến động trong python. Đối với điều này, có nhiều cách khác nhau mà chúng ta sẽ thảo luận từng cái một

Chuyển đổi chuỗi thành tên biến trong Python bằng phương thức locals()

Như chúng ta đã thấy trong phần trước, trình thông dịch python lưu tên biến và giá trị của chúng trong bảng ký hiệu dưới dạng từ điển. Nếu chúng ta được cung cấp một chuỗi làm đầu vào trong chương trình của mình, chúng ta có thể xác định tên biến bằng chuỗi bằng cách thêm chuỗi đầu vào làm khóa vào bảng ký hiệu. Chúng ta có thể thêm một ký tự, giá trị số hoặc chuỗi làm giá trị được liên kết cho biến.  

Để chuyển chuỗi thành tên biến ta làm theo các bước sau

  • Đầu tiên, chúng ta sẽ lấy từ điển chứa bảng ký hiệu bằng cách sử dụng hàm
    myStr = "PythonForBeginners"
    myNum = 5
    print("The variables in global scope and their values are:")
    myVars = globals()
    print(myVars)
    2. Hàm
    myStr = "PythonForBeginners"
    myNum = 5
    print("The variables in global scope and their values are:")
    myVars = globals()
    print(myVars)
    2 khi được thực thi sẽ trả về bảng ký hiệu của phạm vi hiện tại
  • Khi chúng tôi có được bảng ký hiệu, chúng tôi sẽ thêm tên chuỗi làm khóa và giá trị của biến làm giá trị được liên kết bằng ký hiệu chỉ số dưới.  
  • Sau khi thêm cặp khóa-giá trị vào bảng ký hiệu, biến được tạo với tên chuỗi đã cho và giá trị được liên kết.  

Bạn có thể quan sát điều này bằng ví dụ đơn giản này

The value in myVar is: 5
4

đầu ra

The value in myVar is: 5
5

Trong ví dụ trên, chúng tôi đã sử dụng ký hiệu chỉ số dưới để thay đổi bảng ký hiệu. Thay vì sử dụng ký hiệu chỉ số dưới để thêm giá trị chuỗi mới làm khóa cho bảng ký hiệu, bạn có thể sử dụng phương thức

The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fe3bfa934c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}
7.  

Phương thức ____19_______7, khi được gọi trên từ điển python, lấy một chuỗi ký tự làm đối số đầu tiên và giá trị được liên kết với tên biến mới làm đối số thứ hai. Sau khi thực hiện, chuỗi và giá trị được thêm vào từ điển dưới dạng cặp khóa-giá trị trong từ điển.  

Vì bảng ký hiệu được trả về bởi phương thức

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2 cũng là một từ điển nên chúng ta có thể sử dụng phương thức
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fe3bfa934c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}
7 để chuyển đổi chuỗi thành tên biến trong python như hình bên dưới

The value in myVar is: 5
6

đầu ra

The value in myVar is: 5
7

Cách tiếp cận trên sử dụng phương thức

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2 chỉ thực hiện các thay đổi trong phạm vi hiện tại, Do đó, nó rất hữu ích khi chúng ta muốn chuyển đổi một chuỗi thành tên biến trong phạm vi cục bộ như một hàm. Nếu bạn chỉ muốn thay đổi bảng ký hiệu của hàm thì có thể sử dụng hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2 để chuyển chuỗi thành tên biến trong python như sau

The value in myVar is: 5
8

đầu ra

The value in myVar is: 5
9

Nếu bạn muốn thực hiện các thay đổi trong bảng ký hiệu toàn cầu để chuyển đổi chuỗi python thành tên biến toàn cầu, bạn có thể thực thi hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2 trong phạm vi toàn cầu. Sau đó, bạn có thể thêm các biến bằng cách sử dụng ký hiệu chỉ số dưới hoặc phương thức
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fe3bfa934c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}
7 như minh họa trong các ví dụ trước

Chuyển chuỗi thành tên biến trong Python bằng phương thức globals()

Nếu bạn muốn chuyển đổi một chuỗi thành một biến toàn cục khi bạn đang ở trong một hàm, bạn không thể thực hiện việc đó bằng cách sử dụng hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2. Đối với tác vụ này, bạn có thể sử dụng hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1

Khi được thực thi, hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1 trả về bảng ký hiệu chung. Bạn có thể thay đổi bảng ký hiệu toàn cầu bên trong bất kỳ phạm vi nào để chuyển đổi một chuỗi thành tên biến toàn cầu. Đối với điều này, chúng tôi sẽ thực hiện các bước sau

  • Đầu tiên, chúng ta sẽ lấy bảng ký hiệu toàn cầu bằng cách sử dụng hàm
    myStr = "PythonForBeginners"
    myNum = 5
    print("The variables in global scope and their values are:")
    myVars = globals()
    print(myVars)
    1. Hàm
    myStr = "PythonForBeginners"
    myNum = 5
    print("The variables in global scope and their values are:")
    myVars = globals()
    print(myVars)
    1 khi được thực thi sẽ trả về bảng ký hiệu chung dưới dạng từ điển
  • Khi chúng tôi có được bảng ký hiệu, chúng tôi sẽ thêm tên chuỗi làm khóa và giá trị của biến làm giá trị được liên kết bằng cách sử dụng ký hiệu chỉ số dưới cho từ điển.  
  • Sau khi thêm cặp khóa-giá trị vào bảng ký hiệu, biến được tạo với tên chuỗi đã cho và giá trị được liên kết.  

Sau khi thực hiện các bước trên, chúng ta có thể chuyển đổi một chuỗi thành một biến toàn cục. Bạn có thể quan sát điều này trong ví dụ sau

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
0

đầu ra

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
1

Thay vì sử dụng ký hiệu chỉ số dưới, bạn có thể sử dụng phương thức

The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fe3bfa934c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}
7 với hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1 để chuyển đổi một chuỗi thành tên biến toàn cục trong python như hình bên dưới

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
2

đầu ra

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
3

Chuỗi thành tên biến trong Python bằng hàm vars()

Thay vì sử dụng hàm

myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2và hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1 để chuyển đổi một chuỗi thành tên biến trong python, chúng ta cũng có thể sử dụng hàm
I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f9d18bb24c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7f9d18b6f280>, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}

Process finished with exit code 0
4. Hàm
I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f9d18bb24c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7f9d18b6f280>, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}

Process finished with exit code 0
4, khi được thực thi trong phạm vi toàn cầu, hoạt động giống như hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
1. Khi được thực thi trong một hàm hoặc một phạm vi bên trong, hàm
I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f9d18bb24c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7f9d18b6f280>, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}

Process finished with exit code 0
4 hoạt động như hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2

Để chuyển đổi một chuỗi thành một tên biến bằng cách sử dụng hàm

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f9d18bb24c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7f9d18b6f280>, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}

Process finished with exit code 0
4 trong phạm vi toàn cầu, chúng tôi sẽ sử dụng các bước sau

  • Sử dụng hàm
    I am in myFun. The variables in myFun are:
    Aditya 1117
    The variables in global scope and their values are:
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f9d18bb24c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7f9d18b6f280>, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}
    
    Process finished with exit code 0
    4 ta sẽ lấy được dictionary chứa các tên biến trong global scope.  
  • Sau khi có được từ điển, chúng ta sẽ thêm tên chuỗi làm khóa và giá trị của biến làm giá trị liên quan bằng cách sử dụng ký hiệu chỉ số cho từ điển.  
  • Khi chúng tôi thêm chuỗi và giá trị được liên kết vào từ điển, biến được tạo trong phạm vi toàn cầu

Sau đây là mã mẫu thực hiện các bước trên để chuyển đổi một chuỗi thành tên biến trong python

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
4

đầu ra

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
5

Bạn cũng có thể sử dụng phương thức

The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7fe3bfa934c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}
7 trong từ điển thay vì ký hiệu chỉ số dưới để tạo biến như trong ví dụ sau

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
6

đầu ra

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
7

Để chuyển đổi một chuỗi thành tên biến trong phạm vi cục bộ như hàm sử dụng hàm

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f9d18bb24c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7f9d18b6f280>, 'myStr': 'PythonForBeginners', 'myNum': 5, 'myVars': {...}}

Process finished with exit code 0
4, bạn có thể thực hiện các bước giống như chúng ta đã sử dụng để tạo biến toàn cục bằng hàm
myStr = "PythonForBeginners"
myNum = 5
print("The variables in global scope and their values are:")
myVars = globals()
print(myVars)
2. Bạn có thể quan sát điều này trong ví dụ sau

myStr = "PythonForBeginners"
print("The value in myStr is:", myStr)
8

đầu ra

The value in myVar is: 5
9

Ở các phần trước chúng ta đã trực tiếp đổi bảng ký hiệu để chuyển chuỗi thành tên biến. Tuy nhiên, đây không phải là cách tốt nhất để thực hiện nhiệm vụ

Bây giờ chúng ta hãy thảo luận về cách chúng ta có thể chuyển đổi một chuỗi thành tên biến trong python mà không cần thay đổi trực tiếp bảng ký hiệu

Chuyển chuỗi thành tên biến trong Python bằng hàm exec()

Chúng ta có thể sử dụng hàm exec() để thực thi động câu lệnh python. Hàm exec() lấy một câu lệnh python ở dạng chuỗi làm đối số đầu vào. Sau đó, câu lệnh python được thực thi như thể nó là một câu lệnh python bình thường được viết trong mã. Ví dụ: chúng ta có thể xác định biến x có giá trị 5 bằng cách sử dụng hàm

def myFun():
    funvar1 = "Aditya"
    funVar2 = 1117
    print("I am in myFun. The variables in myFun are:")
    print(funvar1, funVar2)
    print("The variables in global scope and their values are:")
    myVars = globals()
    print(myVars)


myStr = "PythonForBeginners"
myNum = 5
myFun()
4 như hình bên dưới

The value in myStr is: PythonForBeginners
0

đầu ra

The value in myStr is: PythonForBeginners
1

Để chuyển đổi một chuỗi thành tên biến bằng hàm exec(), chúng ta sẽ sử dụng định dạng chuỗi. Chúng tôi có thể thực hiện toàn bộ quy trình bằng các bước sau

  • Đầu tiên, chúng ta sẽ định nghĩa một biến myStr chứa chuỗi gốc mà chúng ta cần chuyển thành tên biến
  • Sau đó, chúng ta sẽ tạo một chuỗi
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    5 theo định dạng “
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    6“
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    7”. Ở đây, chúng tôi sẽ sử dụng trình giữ chỗ đầu tiên cho tên chuỗi và trình giữ chỗ thứ hai cho giá trị của biến mà chúng tôi sẽ tạo từ biến chuỗi
  • Sau khi tạo chuỗi với các trình giữ chỗ, chúng tôi sẽ gọi phương thức
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    8 trên
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    5 với
    The value in myStr is: PythonForBeginners
    8 làm đối số đầu vào đầu tiên và giá trị cho biến được tạo từ
    The value in myStr is: PythonForBeginners
    8 làm đối số đầu vào thứ hai.  
  • Sau khi được thực thi, phương thức
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    8 sẽ trả về một chuỗi trông giống như một câu lệnh python với ____11_______8 là tên biến mà giá trị đã cho được gán
  • Sau khi lấy được chuỗi chứa câu lệnh python, chúng ta sẽ truyền nó cho hàm
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    4.  
  • Khi hàm
    def myFun():
        funvar1 = "Aditya"
        funVar2 = 1117
        print("I am in myFun. The variables in myFun are:")
        print(funvar1, funVar2)
        print("The variables in global scope and their values are:")
        myVars = globals()
        print(myVars)
    
    
    myStr = "PythonForBeginners"
    myNum = 5
    myFun()
    4 được thực thi, biến sẽ được tạo với chuỗi
    The value in myStr is: PythonForBeginners
    8 làm tên biến

Bạn có thể quan sát điều này trong ví dụ sau

The value in myStr is: PythonForBeginners
2

đầu ra

The value in myStr is: PythonForBeginners
3

Chuyển chuỗi thành tên biến trong Python bằng hàm setattr()

Thay vì sử dụng hàm_______28_______4, chúng ta cũng có thể sử dụng hàm

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7eff3f70d4c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7eff3f6ca280>, 'myStr': 'PythonForBeginners', 'myNum': 5}
8 để chuyển chuỗi thành tên biến trong python.  

Hàm

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7eff3f70d4c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7eff3f6ca280>, 'myStr': 'PythonForBeginners', 'myNum': 5}
8 lấy đối tượng python làm đối số đầu vào đầu tiên, tên thuộc tính (biến) làm đối số đầu vào thứ hai và giá trị của thuộc tính làm đối số đầu vào thứ ba. Sau khi thực hiện, nó thêm thuộc tính cho đối tượng

Để chuyển đổi một chuỗi thành tên biến bằng cách sử dụng hàm

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7eff3f70d4c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7eff3f6ca280>, 'myStr': 'PythonForBeginners', 'myNum': 5}
8, trước tiên chúng ta cần lấy phạm vi hiện tại dưới dạng đối tượng python để chúng ta có thể thêm biến làm thuộc tính cho nó. Đối với điều này, chúng ta sẽ phải thực hiện hai nhiệm vụ

  • Đầu tiên, chúng ta cần lấy tên của các mô-đun hiện đang được tải trong chương trình
  • Sau đó, chúng ta cần tìm mô-đun hiện đang được thực thi, tôi. e. phạm vi hiện tại

Để tìm tên của các mô-đun hiện đang được tải trong bộ nhớ, chúng tôi sẽ sử dụng thuộc tính

The value in myVar is: 5
01. Thuộc tính
The value in myVar is: 5
01 chứa một từ điển với ánh xạ tên mô-đun tới các mô-đun đã được tải.  

Sau khi lấy từ điển, chúng ta cần tìm mô-đun hiện tại. Đối với điều này, chúng tôi sẽ sử dụng thuộc tính

The value in myVar is: 5
03.
The value in myVar is: 5
03 là thuộc tính tích hợp đánh giá tên của mô-đun hiện tại.  

Thuộc tính

The value in myVar is: 5
03 cũng có trong bảng ký hiệu. Bạn có thể tìm thấy tên của mô-đun hiện tại bằng cách sử dụng thuộc tính
The value in myVar is: 5
03 như hình bên dưới

The value in myStr is: PythonForBeginners
4

đầu ra

The value in myStr is: PythonForBeginners
5

Ở đây, bạn có thể thấy rằng chúng tôi hiện đang ở mô-đun

The value in myVar is: 5
07

Sau khi lấy được tên của mô-đun hiện tại bằng thuộc tính

The value in myVar is: 5
03, chúng ta sẽ lấy được đối tượng mô-đun hiện tại bằng cách sử dụng ký hiệu chỉ số trên thuộc tính
The value in myVar is: 5
01.  

Sau khi lấy được module hiện tại ta sẽ chuyển chuỗi thành tên biến bằng hàm

I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7eff3f70d4c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7eff3f6ca280>, 'myStr': 'PythonForBeginners', 'myNum': 5}
8. Đối với điều này, chúng ta sẽ chuyển mô-đun hiện tại làm đối số đầu vào thứ nhất, chuỗi làm đối số đầu vào thứ hai và giá trị của biến làm đối số đầu vào thứ ba cho hàm
I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7eff3f70d4c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7eff3f6ca280>, 'myStr': 'PythonForBeginners', 'myNum': 5}
8. Sau khi thực thi hàm the
I am in myFun. The variables in myFun are:
Aditya 1117
The variables in global scope and their values are:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7eff3f70d4c0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/aditya1117/PycharmProjects/pythonProject/string12.py', '__cached__': None, 'myFun': <function myFun at 0x7eff3f6ca280>, 'myStr': 'PythonForBeginners', 'myNum': 5}
8, biến sẽ được tạo trong phạm vi hiện tại với chuỗi đầu vào là tên biến

Bạn có thể quan sát điều này trong ví dụ sau

The value in myStr is: PythonForBeginners
6

đầu ra

The value in myStr is: PythonForBeginners
7

Phần kết luận

Trong bài viết này, chúng ta đã thảo luận về các cách khác nhau để chuyển đổi chuỗi thành tên biến trong python. Trong tất cả các cách tiếp cận được thảo luận trong bài viết này, tôi khuyên bạn nên sử dụng cách tiếp cận với phương thức exec(). Điều này là như vậy bởi vì có một số từ khóa dành riêng mà chúng tôi không thể sử dụng làm tên biến. Các từ khóa được sử dụng cho các nhiệm vụ khác nhau để chạy các chương trình. Tuy nhiên, nếu chúng tôi đang trực tiếp thay đổi bảng ký hiệu, có thể chúng tôi có thể thay đổi giá trị được liên kết với một từ khóa. Trong trường hợp như vậy, chương trình sẽ gặp lỗi. Do đó, hãy thử sử dụng cách tiếp cận với hàm_______28_______4 để chuyển đổi chuỗi thành tên biến trong python.  

Có liên quan

Đào tạo Python được đề xuất

Khóa học. Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến ​​thức cơ bản

${} trong Python là gì?

Nó sử dụng lớp Mẫu từ mô-đun chuỗi. Nó có một cú pháp hơi giống với. format() khi được thực hiện với từ khóa, nhưng thay vì dấu ngoặc nhọn để xác định trình giữ chỗ, nó sử dụng ký hiệu đô la ($). ${} cũng hợp lệ và phải được đặt khi một chuỗi hợp lệ xuất hiện sau phần giữ chỗ .

Các chuỗi được truyền trong Python như thế nào?

Cách Pythonic giải quyết vấn đề này là giữ các chuỗi trong một danh sách và nối chúng lại với nhau sau khi bạn có tất cả các phần. Python không bao giờ chuyển qua tham chiếu . Nó chuyển các tham chiếu, nhưng "chuyển theo tham chiếu" đã được sử dụng cho một kiểu truyền đối số khác (ví dụ: kiểu cho phép hàm swap(a, b) ).