Python中如何连接变量
table = data.root.daily.ST123 是读取 pytables 文件中的一页数据,变量 n=125,如果要读取 data.root.daily.ST125 中的数据该如何使用该变量。
Python中如何连接变量
6 回复
可以 getattr 试试
在Python里,连接变量(也就是拼接字符串)主要有三种常用方法,看情况选就行。
1. 用加号 + 直接拼接
这是最直观的方式,把字符串变量或者字符串字面量用 + 连起来。
name = "World"
greeting = "Hello, " + name + "!"
print(greeting) # 输出: Hello, World!
注意:+ 只能拼接字符串。如果变量是其他类型(比如整数),需要先用 str() 转成字符串,不然会报 TypeError。
age = 25
# info = "I am " + age + " years old." # 这样写会报错!
info = "I am " + str(age) + " years old." # 正确写法
print(info)
2. 使用 join() 方法
当你要拼接一个字符串列表(list)里的所有元素时,join() 是最高效的选择。它在底层做了优化,比用 + 循环拼接快得多。
words = ["Python", "is", "awesome"]
sentence = " ".join(words) # 用空格连接列表中的所有单词
print(sentence) # 输出: Python is awesome
# 你也可以用其他字符串作为“连接符”
path_parts = ["usr", "local", "bin"]
path = "/".join(path_parts)
print(path) # 输出: usr/local/bin
3. 使用 f-string (格式化字符串字面量)
这是Python 3.6以后最推荐的方式,写起来最简洁,可读性也最强。在字符串前加 f 或 F,然后在字符串里用花括号 {} 直接包裹变量名或表达式。
name = "Alice"
score = 95
# 直接在花括号里写变量
message = f"Player {name} scored {score} points."
print(message) # 输出: Player Alice scored 95 points.
# 花括号里甚至可以写表达式
price = 9.99
quantity = 3
total_msg = f"Total: ${price * quantity:.2f}" # 同时进行了计算和格式化(保留两位小数)
print(total_msg) # 输出: Total: $29.97
f-string会自动把里面的变量转换成字符串,特别方便。
总结一下:
- 拼接少量字符串或简单场景,用
+最直接。 - 要高效拼接一个字符串序列(比如列表),用
join()。 - 绝大多数情况下,尤其是需要混合变量和文本时,用 f-string,它是目前最清晰、最方便的方式。
一句话建议:日常就用f-string,省心又高效。
python<br>getattr(data.root.daily, 'ST{n}'.format(n=n))<br>
谢谢帮助,还有个问题如果要读取 data.root.daily.ST001,但是不能赋值 n=001。
问题解决,谢谢帮助。

