python 字符串转换成类
时间: 2024-03-13 13:41:39 浏览: 45
在Python中,可以通过字符串来动态地创建类的实例。要将字符串转换为类,可以使用`globals()`函数来获取全局命名空间中的类对象。然后,可以使用字符串作为类名来访问该类对象。
下面是一个示例代码,演示了如何将字符串转换为类:
```python
class MyClass:
def __init__(self, name):
self.name = name
# 将字符串转换为类
class_name = "MyClass"
my_class = globals()[class_name]
# 创建类的实例
obj = my_class("example")
print(obj.name) # 输出: example
```
在上面的示例中,我们首先定义了一个名为`MyClass`的类,它有一个初始化方法`__init__`。然后,我们将字符串`"MyClass"`赋值给变量`class_name`。接下来,我们使用`globals()`函数获取全局命名空间中的类对象,并将其赋值给变量`my_class`。最后,我们使用`my_class`创建了一个类的实例,并传递了一个参数`"example"`给初始化方法。
相关问题
python字符串转换成二进制
在Python中,可以使用内置函数bin()将字符串转换为二进制表示。bin()函数将字符串转换为Unicode代码点,然后将每个代码点转换为二进制表示。以下是一个示例:
```
s = "Hello World!"
binary = ' '.join(format(ord(c), 'b') for c in s)
print(binary)
```
输出:
```
1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100 100001
```
python字符串转换成16进制
要将一个字符串转换为16进制,你可以使用 Python 中的 `bytes` 函数和 `hex` 函数。首先,使用 `bytes` 函数将字符串转换为字节数组,然后使用 `hex` 函数将字节数组转换为16进制字符串。
下面是一个例子,演示了如何将一个字符串转换为16进制:
```python
# 将字符串转换为16进制
string = "Hello, World!"
hex_string = bytes(string, 'utf-8').hex()
# 输出转换后的16进制字符串
print(hex_string)
```
输出结果如下:
```
48656c6c6f2c20576f726c6421
```
在上面的代码中,我们首先定义了一个字符串 `string`。然后,我们使用 `bytes` 函数将字符串转换为字节数组,并指定编码方式为 UTF-8。最后,我们使用 `hex` 函数将字节数组转换为16进制字符串,并将结果保存到变量 `hex_string` 中。
需要注意的是,`hex` 函数返回的是一个字符串,表示字节数组中每个字节的16进制值。如果你需要将16进制字符串转换为字节数组,可以使用 `bytes.fromhex` 函数,如下所示:
```python
# 将16进制字符串转换为字节数组
hex_string = '48656c6c6f2c20576f726c6421'
byte_array = bytes.fromhex(hex_string)
# 输出转换后的字节数组
print(byte_array)
```
输出结果如下:
```
b'Hello, World!'
```
在上面的代码中,我们使用 `bytes.fromhex` 函数将16进制字符串转换为字节数组,并将结果保存到变量 `byte_array` 中。最后,我们输出了转换后的字节数组,结果与原始字符串相同。