《Python數據處理》9.1.2探索表函數筆記: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)這個方法即可正常輸出

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章