数据类型
整型
p2的整型和长整形要区分,p3的两者合并在一起了
python的整数没有大小限制
浮点型
python的浮点数没有大小限制,但是超出一定范围就直接表示为inf(无限大)
字符串
- 单引号
- 双引号
- 三引号
空值:空值是python里一个特殊的值
- 用None表示
其他常用类型
- list列表
- tuple元组
- set集合
- dict字典
运算符
a=10
a/3 python底层,使用C语言实现 a/3 真除法
=3.3333333335 最后的5是精度丢失
a%3 取模(mod) 数学中的模-取绝对值
10//3 = 3
地板除-向下取整
幂运算
23 = 8 2的三次方
增强运算 += -= = /= //= *= %=
python没有++操作
布尔运算符 > < >= <= == !=
a=10
b=20
a > b
则返回的是flase
逻辑运算符 and or not
if条件
if,else是有代码块,见:说明下一个是代码块(缩进),python中有严格的代码对齐
if-elif-else结构
a=10if 5>a>0:print('不及格')elif 9>a>5:print('及格')elif a==10:print('满分')else:print('输入有误')
if 10>1:pass#python中代码块不能为空,如果不想写任何代码,需要写一个pass表示空代码块elif 10>2if 10>3:passelse:#如果是c语言代码,则else会找距离它最近的if,就会去找第四行的if,这种是叫做悬挂问题,python可以解决悬挂问题pass
循环流程
while 3>2:
print(‘sdf’)
三种while停止循环的方法
while not(a==10): #技巧:1.找到何时停止循环(停止的条件)2.对该条件取反a+=1print('hello world')
while a!=10: #技巧:1.找到何时停止循环(停止的条件)2.对该条件取反a+=1print('hello world')
while a<10: #技巧:1.找到何时停止循环(停止的条件)2.对该条件取反a+=1print('hello world')
但凡我们长时间使用的数据或程序,都会用死循环来空控制
思考:while 1和while true哪个效率高
python2 while 1效率高,因为python2中true是个变量,先看看true是不是true,而1就是1.
python3 中,true是关键字(任何人不能改它的名字了),不是保留字了,所以就不用判断true了,所以两个效率一样高
python中没有do while结构
for循环
for后面可以加一组变量
for 变量 in 可迭代对象:
循环体
可迭代对象:我这里面存的不止一个数,并且这个数还能取出来看看,下面的abc就是可迭代对象
for i in 'abc':print(i)
打印10个hello world(for循环的循环次数由可迭代对象的元素个数决定,比如10个的话,那就是10+1=11)
for循环第一次循环就创建了变量i,之后的每次循环,i=’a’ 覆盖 i=10 i =’abc’ (把i=10的首地址,改成了abc的首地址,但i本身没变)所以i从头到尾只创建了一次。for循环第一次循环创建了变量i,之后的每次循环都对同一个i值进行重新赋值,变量只创建了1次
for i in 'aaaaaaaaaa': #for循环执行了11次,因为前10次取了10个a后,取第11次后发现没有,所以返回错误print('hello world') #循环体执行的10次
range对象
range(end) #默认从0开始取值,到end参数结束,end取不到 , 提供一组数列。
range(10) #0,1,2,3,4,5,6,7,8,9 #【0,10)
打印10个helloworld
for i in range(10):print('hello print')
for i in range(2,10): #2~9print(i)
for i in range(0,10,2):print(i)02468
for i in range(0,10,3):print(i)0369
break跳出本层循环,并且之后的循环不再执行
continue跳出本次循环,但不影响其他循环的执行
循环嵌套
print(‘‘)默认打印一个后跳到下一行
print(‘‘,end=’ ‘) 把默认跳到下一行,改为空格 end默认值是\n
for j in range (5): #行for i in range(5): #每行有几个星 列print('*',end='')print() #每次里面循环5次后,转到下一行打印结果:* * * * ** * * * ** * * * ** * * * ** * * * *
如何打印下三角
for j in range(1,6):左开右闭 1,2,3,4,5行for i in range(j):print('*',end=' ')print()
打印99乘法表 形式1
for j in range(1,10):for i in range(1,j+1):print(j,'x',i,'=',j*i,end='\t')print()
形式2
for j in range(1,10):for i in range(1,j+1):print(str(j)+'x'+str(i)+'='+str(j*i),end=' ')print()
