print輸出內存地址或者數據類型
一、輸出內存地址、數據類型
(一)內存地址
a = 1
print(id(a))
直接輸出內存地址是因爲調用了id()方法
print()方法在不調用id()方法時不會輸出內存地址
(二)數據類型
但是有長得很像內存地址的數據類型
其中at 0x00這樣的內容原本以爲是內存地址的,試圖通過內存地址來輸出相應的值,參見《https://blog.csdn.net/ainu2919/article/details/102037350?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-4》
但是不行,因爲這其實是數據的類型,這在xpath的使用中應該也遇到過
如果
node_7 = content_list.xpath('//i[@class="fraction"]')
return node_7
這樣返回,沒有text()
就會出現這樣的數據類型
如果增加text()
node_7 = content_list.xpath('//i[@class="fraction"]/text()')
就可以正常輸出
xpath中所要獲得的值不能通過print直接輸出xpath對象,需要使用xpath中的方法來獲取相應的值
二、結論及解決之道
即使用特定數據結構時需要使用其特殊的輸出方法,不能直接print
對於上述的agate模塊的數據結構使用
print_table(max_columns=7)這個方法即可正常輸出