Python基礎筆記(一)
1. 輸出
主要函數為print(),基礎調用為:
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%
2. 輸入
主要函數為input(),基礎調用為:
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)))
3. 字符串
與其它語言的字符串大致類似,有幾個專有特性:
(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) 多行字符串用'''來表示
str1 = '''A
B
C'''
print(str1)
'''
A
B
C
'''
4. 取整除
顧名思義就是只取整數的除法,示例:
print(10/3)
print(10//3)
'''
3.3333333333333335
3
'''
5. 變量
python的變量是動態類型的,根據賦值來決定類型,空值用None表示
intA = 5
intB = intA
intA = 10
print(intA,intB)
# 10 5
strA = "AAA"
strB = strA
strA = None
print(strA,strB)
# None AAA
6. 字符串和編碼
查詢單個字符的整數表示,用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編碼。

浙公網安備 33010602011771號