主要函數爲print(),基礎調用爲:python
myName = "wayne" myAge = 18 print("My name is %s, I'm %d years old." % (myName,myAge)) #"My name is wayne, I'm 18 years old."
經常使用佔位符有:%d(整數)、%f(浮點數)、%s(字符串)、%x(十六進制整數)編輯器
print()函數裏將逗號","視爲一個空格來拼接輸出結果:函數
print("I'm",10+8,"years old.") #"I'm 18 years old."
也能夠用format()函數來作格式化輸出:編碼
print("圖片\"{0}\"下載百分比爲{1:.2f}%".format("1.jpg", 100*0.7/1.5)) # 圖片"1.jpg"下載百分比爲46.67%
主要函數爲input(),基礎調用爲:code
myName = input("please input your name:") myAge = input("please input your age:") print("My name is %s, I'm %d years old." % (myName,int(myAge)))
與其它語言的字符串大體相似,有幾個專有特性:orm
(1) "r"之後的字符串不轉義圖片
str1 = "AA\nB\"BC\"C" str2 = r"AA\nB\"BC\"C" print(str1) print(str2) ''' AA B"BC"C AA\nB\"BC\"C '''
(2) 多行字符串用'''
來表示utf-8
str1 = '''A B C''' print(str1) ''' A B C '''
顧名思義就是隻取整數的除法,示例:ci
print(10/3) print(10//3) ''' 3.3333333333333335 3 '''
python的變量是動態類型的,根據賦值來決定類型,空值用None
表示字符串
intA = 5 intB = intA intA = 10 print(intA,intB) # 10 5 strA = "AAA" strB = strA strA = None print(strA,strB) # None AAA
查詢單個字符的整數表示,用ord()
函數;經過數字編碼還原單個字符,用chr()
函數
print(ord("a")) # 97 print(chr(65)) # 'A'
也能夠直接用ASCII碼的形式表示字符或字符串
print('\u9177') # 酷 print('\u4e2d\u56fd') # 中國
字符串經過encode()
方法編碼爲指定規則的bytes
。
英文與數字構成的字符串通過ASCII編碼爲bytes
後,內容是同樣的;含有中文的字符串用ASCII編碼會報錯,由於中文編碼超過了ASCII編碼的範圍,應該使用UTF-8來編碼
print("ABC123".encode("ascii")) # b'ABC123' print("樂呵呵".encode("utf-8")) # b'\xe4\xb9\x90\xe5\x91\xb5\xe5\x91\xb5'
bytes
經過decode()方法解碼爲指定規則的字符串。
當bytes裏包含無效字節時,直接decode會報錯,能夠傳入errors="ignore"來忽略錯誤的字節
print(b'ABC123'.decode("ascii")) # ABC123 print(b'\xe4\xb9\x90\xe5\x91\xb5\xe5\x91\xb5'.decode("utf-8")) # 樂呵呵 print(b'\xe4\xb9\x90\x88'.decode("utf-8", errors="ignore")) # 樂
len()
函數用於計算字符或字節數,取決於參數是字符仍是bytes
print(len("ABC")) # 3 print(len(b"ABC")) # 3 print(len("中國")) # 2 print(len("中國".encode("utf-8"))) # 6
在python代碼開頭加上這兩行:
#!/usr/bin/env python3 # -*- coding: utf-8 -*-
第一行註釋是告訴Linux和Mac OS X系統,這是一個Python可執行程序,Windows系統會忽略這個註釋。 第二行註釋是告訴Pythonj解釋器,按照UTF-8編碼讀取源代碼,不然源代碼中的漢字會輸出亂碼。除了加入語句,還應該保證文本編輯器用UTF-8 without BOM編碼。