运算符
控制语句
range方法
包 import
random
while for
算术运算符
关系运算符
逻辑运算符
赋值运算符
成员运算符
身份运算符
位运算符
+ : a + b
-: a-b
*: a * b
//: a // b a整除b
# 整除
print(a//b)
# 取余
print(a%b)
# 除
print(a/b)
#幂运算:**
print(2**4) 打印2的四次幂
注意:python2中 a/b 是整除
> < >= <= != ==(比较的值)
在python2里有<>表示不等于 在python3不生效了
and 与 :只有都是真 结果才为真 只要有假 结果就为假
or 或运算:只有真 则结果就为真
not 取反:真变假 假变真
not > and > or
三目运算:
形式一:条件判断 and 表达式1 or 表达式2
形式二:表达式1 if 判断条件 else 表达式2
取值原理:
当条件判断为真的时候取表达式1
为假取表达式2
取值逻辑:
与(and):
如果and 左侧条件不成立,停止向后去取值 直到遇到 or
2==3 and 4 or 5 取到的结果是5
或(or)
如果or左侧成立 那直接取值True
2==2 or 2 and 8 取到的结果是True
=
eg: a = 3 解释:将数值3 赋值给了a
+=
eg: a+=b 相当于 a = a + b 解释:+=符号左侧的变量将参与运算 然后运算结果再赋值给自己,以下运算符同理
-=
%=
/=
*=
//=
字典 列表 集合 元组 字符串
如果是字典 判断的是 在不在字典的keys里 二不去判断在不在values里
eg:a = [1,2,3,4,5] 想知道1在不在数组里 6在不在数组里
in
my_list = [1,45,6]
print(1 in my_list) 结果是True
print(2 in my_list) False
not in 不在
print(2 not in my_list) 结果是True
伪代码:不是真正的代码 而是对代码逻辑的一个说明 整理
数组是[1,2,3,4,5]
看1 是不是 in 这个数组
1 in [1,2,3,4,5]
比较值 还要比较内存地址 当两者都相同才返回真
id()内置函数 括号内是一个变量 得到的结果是地址
is
not is
针对于二进制(以8位为例) 补码
6 & 7 都是真 则真 有假则假
110
111
110
6|7 结果是7: 有真则真
110
111
111—》7
6^7 得到的结果是1:不同为真 相同为假
110
111
001 —》1
~6
0000 0110 —》1111 1001—》1111 1000-》1000 0111–》-7
位移:
>>表示右移
6>>1 6是十进制数 1表示位数 对应的二进制数向右移动 最低位舍弃 最高位补0
6-->110 >> 00011
<< 表示左移
6<<1 6是十进制数 1表示位数 对应的二进制数向右移动 最低位补0
6-->110 << 1100 ----》12
程序默认从上到下执行:顺序执行
判断分支:if else elif
if 后只能跟一个或0个else
对条件的判断》成功和失败
例子:找工作:
if 工资大于15k:
考虑一下
考虑好多事情
else:
按着最近的那个if条件不成立的时候 执行下面的拜拜
拜拜-》出门左转
if 工资大于15k:
考虑一下
elif 能学到东西:
#上边的条件不成立的时候,接下来继续判断,如果本次判断成立,执行下面的代码
也去
else:
再找
在if 写的是我们判断条件,if 之后可以加N多个elif elif 也要加判断条件
elif 是跟在if后面的 然后可以出现多个,后面跟判断条件
找对象
if sex == “女”:
if age>17 and age<25:
print(“靠近她”)
if money > 10:
print(“展开攻势”)
else:
print(“我养你呀”)
else:
print(“不搞基”)
pass 占位 他没有含义和功能
通过缩进来区分代码块
缩进的方式:1 用四个空格
2 用两个空格
3 一个tab键
注意:一旦确定缩进方式 就不能变
在python 帮我们生成一个序列 也是python的内置函数
1 range(数字)
通过list() 强制转换 我们会看到一个从0开始到你括号里写的数字-1
2 range(开始值, 结束值)
会得到一个[开始值,,,结束值-1) 序列
res1 = range(2, 10)
print(list(res1))
3 range(开始值, 结束值, 步数)
res2 = range(0, 20, 3) 0是起始值 20结束值(不会被取到) 2是间隔步数
print(list(res2))
4 降序
# 降序
res3 = range(10, 0, -2)
print(list(res3))
python有丰富的库,帮我们完成 我们自己写的不能快速完成的事情,提高代码的复用性
keyword 包
系统的 keyword
自己定义的
别人的:第三方包
第一步:导包 import 文件名/目录名
第二步:通过点 来调用包里面的常量, 函数,类
或者导入使用:from 包名 import 函数名 类名 常量
from 包名 import * : 将包名里面对应所有内容导入过来
产生的一个问题:当我们from 包名 import * 导入多个包的时候 会产生重名的问题
因此:我们就用什么 导入什么
购物车 里面有吃的
from 车 import 乐视薯片
import 车
使用的时候 车.可乐
from … import xxx 在文件最开始 而且 引用系统的在前,自定义在后
import xxx 在from xx import xx 之后引用系统的在前,自定义在后
一般来说 导包都是在文件的开头来完成【约定】
自定义的包不要和系统的冲突
随机
random是一个系统自带的包 帮我们生成随机数或字符
先导入
功能:在一个非空序列 给我们随机出来一个元素
res = random.choice("jskdfs")
print(res)
res1 = random.choice([1,2,3,4,5,6,7,78,8,44,3])
print(res1)
randint 帮我们随机出来一个整数 他能渠取到我们等号两侧的值
#randint 帮我们随机出来一个整数 他能渠取到我们等号两侧的值
res2 = random.randint(1, 2)
print(res2)
res3 = random.randrange(1)
res4 = random.randrange(8, 10) 8是随机的起始值 10是结束值
print(res4)
res5 = random.randrange(1, 15, 3) 1是随机的起始值 15是结束值 3是我们的步骤
print(res5)
res8 = random.random()
print(res8)
重复的做一个操作
道歉:
print(“我错了”)
print(“我错了”)
print(“我错了”)
print(“我错了”)
女票说:你给我用python输出一万句 “我错了” 我就原谅你
、
1 起始值 i = 0
2 判断当前的这个i 是不是满足我们循环的条件
是:
继续执行我们的代码
改变i的数值
不是:
循环结束
起始变量
while 判断条件:
你的操作逻辑
判断条件所用变量 要修该其值(目的是未了能循环结束)
打印十以内的偶数
i = 0
while i <= 10:
# (i+1)%2==0
if (i % 2) == 0:
print(i, "是偶数")
else:
print(i, "不是偶数")
i += 1
while循环嵌套
1 要有循环结束标记的变化 ,如果不变 就产生了死循环