一、Python變量類型
類型
數值型、字符串、元組、列表、字典等
例:c/c++、java是強類型的編程語言,一個變量在使用前確定類型,在程序期間,變量的類型是不能改變的;
腳本語言:shell、python、perl、javaScript弱類型;
Python支持三種不同的數字類型
#有符號整數
int
#浮點實數值
float
#例
#16進制---0X 0x
#8進制---0o 0O
#2進制---0b 0B
#二進制:bin() 八進制:oct() 十六進制:hex()
#復數
complex
#注意:復數由一對有序組成,
#通過 x + yj 來表示實浮點數,
#其中 x 和 y 是實數并且 j 是虛數單位。
在Python3所有整數表示為長整型。因此,沒有單獨為long的整數類型。
#例
c1=bin(8)
print(c1)#0b1000
c2=oct(8)
print(c2)#0o10
c3=hex(8)
print(c3)#0x10
字符串
#字符串變量
s="abc"
s='abc'
將多個變量分配給不同的變量
x,y=6,8
print(x,y)
二、python支持運算
2.1算術運算符
#冪運算
x=8**3#8*8*8
#y得到float類型有小數點值
y=7/3
#取整相除
y2=7//3 #y2返回2
2.2 比較(關系)運算符
x=8==8
print(x)#True
y=False
print(y)
2.3 賦值運算符
x=3
x+=5
print(x)
#//= 地板除
x//=3
print(x)
y=5.2789
y=y//2.954#返回1.0
print(y)
2.4 邏輯運算符
#and or not
#input函數得到用戶輸入數據
year=int(input("請輸入年份"))
#通過int()函數將參數轉換成整數
print(int(3.14))
if(year%400==0 or (year%4==0 and year%100!=0)):
print("是一個閏年...")
#例如:
#if條件表達式或數值
if(not 0):
print("abc")
print("over")
2.5位運算符
# > & | ^ ! ~ << >>
2.6 運算符成員
in ,not in
某元素是否在序列中,其中字符串就是序列
#例
s="掌聲"
y="聲"
#s是字符串,in表示判斷y是否在s中存在
c=y in s
print(c)#True
2.7 標識運算符
is如果操作符兩側是相同的對象,計算結果為true,否則結果為 false
is not 如果操作符兩側的變量是相同的對象,計算結果為false,否則 true
三、python流程控制結構
3.1 python 條件結構
#語法:
if():
# 多條語句體
#注意:
#if結構的語句體可以多條,使用統一位置縮進控制語句體;
#例:
if(條件):
語句體....
if()...else
# 語法:
if():
多條語句體
else:
多條語句體
if():...elif():...else:
語法:
if():
多條語句體
elif():
多條語句體
elif():
多條語句體
else:
多條語句體
3.2循環
3.2.1 while循環
i=0#A循環變量的初始化
while(i<5):#B循環條件
print(i)
i+=1#C循環體內改變循環變量值
3.2.2 break,continue while...else
# else表示當while條件不成立,執行else部分
#例:
i=1
while(i<4):
print(i)
i+=1
if(i==3):break
else:
print("循環結束...")
print("ok")
print("over...")
結果:
1
2
over...
3.2.3 for..in循環
for 迭代變量 in 集合:
語句
...
[else:
語句
...]
#注意:
#和for循環配合使用range函數
range(stop)
range(start, stop[, step])
for i in range(10,100,20):
print(i)
#練習 for..in循環實現斐波那契數列
1,1,2,3,5,8...
one=1
two=2
for month in range(3,14):
three=one+two
print(three)
#數值輾轉
one=two
two=three
#函數
def fn(n):
if(n<=1):
return n;
else:
return (f(n-1)+f(n-2))
for i in range(20):
print(f(i))
#例:
i=1
while(i<11):
i = i + 1
if(i%2!=0):
continue
print(i)
#例:九九乘法表
i=1
while(i<10):
j=9
while(j>=1):
#輸出格式
s="%d*%d=%d"%(i,j,i*j)
print(s,sep="\t",end="\t")
j-=1
print()
i=i+1
# for 循環
for i in range(1,10):
for j in range(1,i+1):
s="%d*%d=%2d"%(i,j,i*j)
print(s,sep="\t",end="\t")
print()