1.變數和運算子

jason8826發表於2024-05-10
import decimal
import time

print("1\n" "2", 1)
print("""adf""")
print('''adf''')
print("1111111111111111"
"222222222222"
"33333333333333333"
)

# 高精度
a = decimal.Decimal("10")
b = decimal.Decimal("3")
print(type(a / b))
print(a / b)

# r 原始字串,為了解決跳脫字元的問題,'\'不會被當做跳脫字元(但是開頭和結尾的引號還是能被轉義)
str1 = r"D\:Install\kbq"
print(str1)
str2 = 'abc\\' # 但是開頭和結尾的引號還是能被轉義
print(str2)

# 透過建構函式建立空bytes
b1 = bytes()
# 透過空字串建立空bytes
b2 = b''
b3 = b'this is python'
print(b3)
print(b3[0])
print(b3[0:3])
# 將字串轉換成bytes
b4 = bytes('長期的戰役', encoding='utf-8') # 或 b4 = "長期的戰役".encode('utf-8')
print(b4)
b5 = b4.decode('utf-8')
print(b5)

# input()函式總是以字串的形式處理輸入的資料
#遮蔽輸入# a = input('請輸入a:')
#遮蔽輸入# b = input('請輸入b:')
#遮蔽輸入# print(a + b)

# print函式詳細格式,print (value,...,sep='',end='\n',file=sys.stdout,flush=False)
f = open("test.txt", 'w') # 開啟檔案
print("年初一修改1", file = f)
print("年初一修改2", file = f)
f.close()

# 格式化字串
age1 = 12345
print("%8d." %age1) # 預設右對齊
print("%-8d." %age1) # '-'號左對齊
print("%+-8d." %age1) # '+'輸出的正數前面帶加號
print("%08d." %age1) # 寬度不夠時,補零
age2 = 3.1415926
print("%8.2f." %age2) # 小數代表輸出精度
print("%8.2f.%0.2f." %(age1, age2))

# 跳脫字元
# ASCII 編碼為每個字元都分配了唯一的編號,稱為編碼值
# 一個 ASCII 字元除了可以用它的實體(也就是真正的字元in表示,還可以用它的編碼值表示。這種使用編碼值來間接地表示字元的方式稱為跳脫字元
print("\x41") # \x 十六進位制表示
print("\066") # \0 八進位制表示

# 算術運算子
print(-7/2) # 除法
print(-7//2) # 整除(向下取整)
print(2**3) # 冪運算

# 比較運算子
# "=="判斷兩邊的值是否相等,"is"判斷變數所引用的物件是否相等(即判斷兩個物件的記憶體地址是否相同)
t1 = time.gmtime()
t2 = time.gmtime()
print(t1 == t2)
print(t1 is t2)

# 邏輯運算子
# and 和 or 返回它們實際進行比較的值之一,not 返回布林值
print(1 and 2)
print("" or "adc")
print(not "")

# 三元運算子
# 成立執行 if 判斷條件 else 不成立執行
max = 0
a = 1
b = 2
c = 3
d = 4
max = a if a>b else b # 等價於 max = (a if a>b else b)
print(max)
print(a if a>b else c if c>d else d) # 等價於 a if a>b else (c if c>d else d)

相關文章