Python print中文出現錯誤

2021-08-21 23:45:32 字數 1273 閱讀 2263

今天在學習python函式的預設引數的時候遇到一段**,本想研究函式實參對函式形參中的預設引數的影響,結果遇到了print中文出現錯誤的問題,具體情況如下:

#!/usr/bin/env python

#coding=utf-8

def print_info(name,age,city='tianjin'):

print('--------個人資訊-------')

print ('姓名:',name)

print ('年齡:',age)

print ('城市:',city)

print_info('lily',22,city='beijing')

輸出結果如下:

- - - - - - - -個人資訊- - - - - - -

(『\xe5\xa7\x93\xe5\x90\x8d\xef\xbc\x9a』, 『lily』)

(『\xe5\xb9\xb4\xe9\xbe\x84\xef\xbc\x9a』, 22)

(『\xe5\x9f\x8e\xe5\xb8\x82\xef\xbc\x9a』, 『beijing』)

從輸出結果可以看出,直接print(『- - - - - - - -個人資訊- - - - - - -』)是沒有問題的,而當中文字串與變數結合被print的時候出現錯誤,如(『\xe5\xa7\x93\xe5\x90\x8d\xef\xbc\x9a』, 『lily』)。

一開始以為是中文編碼問題,從網上搜尋中文編碼相關的問題,但是沒有解決,後發現原來是print (『姓名:』,name)其中的括號問題,因為python3.x中print為函式,需要加括號,所以上述**為python3.x的**,而我的python為python2.x,所以print加括號存在問題,去掉括號後即可正確顯示,如下:

#!/usr/bin/env python

#coding=utf-8

def print_info(name,age,city='tianjin'):

print '--------個人資訊-------'

print '姓名:',name

print '年齡:',age

print '城市:',city

print_info('lily',22,city='beijing')

此時的輸出結果為:

- - - - - - - -個人資訊- - - - - - -

姓名: lily

年齡: 22

城市: beijing

python print含有中文的list

python 的 list 如果有中文的話,會印出 xe4 xb8.等等的編碼 如下所示 要如何印出中文呢?a 中文 ab print a xe4 xb8 xad xe6 x96 x87 ab 下述列出幾種作法 1.使用 decode string escape 來達成 a 中文 ab print ...

python print 中文重定向失敗

一直以來認為解決python字符集編碼,不一定需要通過sys.setdefaultencoding。因為既然python實現過程中,預設禁用了該操作,說明是不推薦的。通過不斷的字元轉換,也cover了一些問題。但今天在把python輸出的中文重定向到檔案作為日誌輸出時,遇到了問題。直接打屏沒問題,但...

RandomAccessFile出現中文亂碼問題

之前程式裡呼叫了randomaccessfile的writebyte string str 方法,報文裡存在中文的時候出現了亂碼 後面換成了write byte b 或writebytes byte b,int off,int len 結果沒有問題了,看了下原始碼,發現裡面主要是對string的ge...