python字串的格式化輸出,python字串格式化

來源:互聯網
上載者:User

python字串的格式化輸出,python字串格式化

很多時候我們在列印輸入內容時希望有簡單格式而不是拼接

一般做法:

1 name = input("name:").strip()2 age = input("age:").strip()3 job = input("job:").strip()4 print("Name:" + name + " Age:" + age + " Job:" + job)

結果為:

Name:zhang Age:24 Job:IT

格式化輸出做法:

name = input("name:").strip()age = input("age:").strip()job = input("job:").strip()info = '''----------info of %s -------  # info裡每個%s就是一個預留位置Name :  %sAge :   %sJog :   %s----------end---------------'''%(name, name, age, job) # 這行的%就是把前面的預留位置和括弧後的變數關聯print(info)

結果為:

----------info of zhang -------Name :  zhangAge :   24Jog :   IT----------end---------------

除了%s,還有%d,%d表示你輸入的只能是數字,我們把age的%s換成%d看下會出現什麼錯誤

 1 name = input("name:").strip() 2 age = input("age:").strip() 3 job = input("job:").strip() 4 info = ''' 5 ----------info of %s ------- 6 Name :  %s 7 Age :   %d 8 Jog :   %s 9 ----------end---------------10 '''%(name, name, age, job)11 print(info)

報錯資訊:

Traceback (most recent call last):  File "C:/Users/admin/PycharmProjects/test.py", line 10, in <module>    '''%(name, name, age, job)TypeError: %d format: a number is required, not strName:li Age:25 Job:farmer

原因是我們input輸入的雖然是數字但是存到變數中是以字串str類型儲存的,要用%d必須要修改變數類型,把第10行做如下修改age變數轉為int類型即可正常執行

'''%(name, name, int(age), job)

所以一般在格式化輸出是用%s比較萬能,因為你輸入的都是字串str,所以不會報錯。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.