今天在學習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...