一、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()