编程语言
762
基本语法
python为弱语言类型, 根据赋予的值决定具体数据类型
# 标准输入输出 name = input("inputyour name") # sep 为分割符(默认为空格), end 为结束符号(默认为换行符) print("hi", "im", sep = "-", end = "joke") # 格式化精度控制 c = 11.5551 print("%d" %c) print("%.2f" %c) #浮点型输出会自动四舍五入 print("%5.1f" %c) # 11 # 11.56 # 11.6 a = [1,2,3] print(type(a)) # <class 'list'>
1. 基本数据类型
int 类型
无大小限制, 内存许可就无限大
print(0b1101) #13 二进制 print(0o734) #476 八进制 print(0x81) #129 16进制 print(bin(21)) # 0b10101 print(oct(21)) # 0o25 print(hex(21)) # 0x15
float 类型
print(float(130)) #130.0 print(1.3e4) #13000.0
bool 类型
空字符串, 空数组, 空集合均为false
复数类型
a = 10 + 3j print(a) print(a.real, a.imag) print(complex(3, 4)) #(10+3j) #10.0 3.0 #(3+4j)
字符串类型
a = "abcd" #a[0] = "b" # error, not support for i in a: print(i) print(a*3) print(a+a) #a #b #c #d #abcdabcdabcd #abcdabcd print(a[0 : 2]) #ab, 切片, [begin : end) , begin默认为0, end默认为字符串长度 print(a[::-1]) #字符串逆转
字符串常用函数
str = "aaBcD 123a" str.capitalize() #首字母大写 print(str.find("13")) #寻找下标, fail -> -1 print(str.index("1")) #寻找下标, fail -> error str.lower() #全小写 str.upper() #全大写 print(str.split(" ")) #['aaBcD', '123a'] list列表 print(str.strip("a")) # BcD 123 默认去除两边的空格 print(str) #以上函数的更改只是返回了一个新的字符串, 没有改变真正的对象 a = 10 b = 30 b1 = 40 #f"内容{变量}" print(f"{a} + {b} = {a+b1}") print(f"{a-3} + {b} = {a+10}") # 10 + 30 = 50 # 7 + 30 = 20
部分类型转换函数
print(int(1.2)) #1 print(chr(77)) #M print(eval("3 * 9")) #27 x = 10; y = 20 print(eval("x * y")) # 200 a = int(bin(16),2) #16的二进制, 二进制转换为十进制整数 b = int(oct(16),8) c = int("aB234",16) print(a, b, c) # 16 16 700980
2. 基本运算符
a = 5; b = 2 print(a**b) #a的b次方 print(a // b) # 2 print(a / b) # 2.5 if a == 5 and b == 2: #true print(b << 2) #8 if a == 2 or b == 2: #true print(a >> 1) #2 101 >> 1 == 010 arry=["hi","im","fine","ok"] print("hi" in arry) #true print('thank' not in arry) #true #is 和 is not 判断变量是否引用同一个对象 a = "1" b = 1 print(a is not b) #true b = "1" print(a is b) #true
3. 基本语句
if 语句
# 可以嵌套 a = 10 if a >= 12: a = 1 elif a == 10: a = 2 else: a = 3 print(a) # 2
for, while 语句
#乘法表 sum = 0 a = range(1,10) b = range(1,10) for i in a: for j in b: if i >= j: sum = i*j print("%d*%d=%d"%(i,j,sum), end = "\t") print("\n") #加法表 pp=0 sum2=0 while pp<=10: pp+=1 print() for o in range(1,11): sum2=pp+o if pp>=o: print("%d+%d=%d"%(pp,o,sum2),end=' ') #else用于for语句 #若for被break打断, 则不进入else for l in range(1,11): print(l) else: print("for normal end")