数据类型

整型
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
地板除-向下取整

幂运算
2
3 = 8 2的三次方

增强运算 += -= = /= //= *= %=

python没有++操作

布尔运算符 > < >= <= == !=
a=10
b=20
a > b
则返回的是flase

逻辑运算符 and or not

不同运算符的优先级

if条件

if,else是有代码块,见:说明下一个是代码块(缩进),python中有严格的代码对齐

if-elif-else结构

  1. a=10
  2. if 5>a>0:
  3. print('不及格')
  4. elif 9>a>5:
  5. print('及格')
  6. elif a==10:
  7. print('满分')
  8. else:
  9. print('输入有误'
  1. if 10>1:
  2. pass#python中代码块不能为空,如果不想写任何代码,需要写一个pass表示空代码块
  3. elif 10>2
  4. if 10>3:
  5. pass
  6. else:#如果是c语言代码,则else会找距离它最近的if,就会去找第四行的if,这种是叫做悬挂问题,python可以解决悬挂问题
  7. pass

循环流程

while 3>2:
print(‘sdf’)
三种while停止循环的方法

  1. while not(a==10): #技巧:1.找到何时停止循环(停止的条件)2.对该条件取反
  2. a+=1
  3. print('hello world')
  1. while a!=10: #技巧:1.找到何时停止循环(停止的条件)2.对该条件取反
  2. a+=1
  3. print('hello world')
  1. while a<10: #技巧:1.找到何时停止循环(停止的条件)2.对该条件取反
  2. a+=1
  3. print('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就是可迭代对象

  1. for i in 'abc':
  2. 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次

  1. for i in 'aaaaaaaaaa': #for循环执行了11次,因为前10次取了10个a后,取第11次后发现没有,所以返回错误
  2. 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

  1. for i in range(10):
  2. print('hello print')
  1. for i in range(2,10): #2~9
  2. print(i)
  1. for i in range(0,10,2):
  2. print(i)
  3. 0
  4. 2
  5. 4
  6. 6
  7. 8
  1. for i in range(0,10,3):
  2. print(i)
  3. 0
  4. 3
  5. 6
  6. 9

break跳出本层循环,并且之后的循环不再执行
continue跳出本次循环,但不影响其他循环的执行

循环嵌套

print(‘‘)默认打印一个后跳到下一行
print(‘
‘,end=’ ‘) 把默认跳到下一行,改为空格 end默认值是\n

  1. for j in range (5): #行
  2. for i in range(5): #每行有几个星 列
  3. print('*',end='')
  4. print() #每次里面循环5次后,转到下一行
  5. 打印结果:
  6. * * * * *
  7. * * * * *
  8. * * * * *
  9. * * * * *
  10. * * * * *

如何打印下三角

  1. for j in range(1,6):左开右闭 1,2,3,4,5
  2. for i in range(j):
  3. print('*',end=' ')
  4. print()

打印99乘法表 形式1

  1. for j in range(1,10):
  2. for i in range(1,j+1):
  3. print(j,'x',i,'=',j*i,end='\t')
  4. print()

形式2

  1. for j in range(1,10):
  2. for i in range(1,j+1):
  3. print(str(j)+'x'+str(i)+'='+str(j*i),end=' ')
  4. print()