运算符补充
## 1、逻辑运算
and 与
or 或
not 非
not将条件取反,剩下两个就不写了,396金融逻辑里面会更详细
2、注意事项
本来是有优先级的
3>4 and 4>3 or 1==3 and 'x' == 'x' or 3 >3 # 不合理的编写方式
经过修改,利用括号添加优先级
(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3) # 合理
## 2.成员运算符
in
not in
### 列表中
l1 = ['jason', 'kevin', 'tony', 'oscar', 'jerry']
print('jason' in l1) True
print('ja' in l1) False
print('jason kevin' in l1) # False
注意列表里是一个数据整体值为一个单位,也不能是两个数据或者一个数据中的部分内容 如jason
下面的形式就可以拆分了
### 字符串中
s1 = 'hello big baby!'
print('h' in s1) # True
print('he' in s1) # True
print('hell' in s1) # True
print('hello' in s1) # True
### 字典中
d1 = {'name': 'jason', 'pwd': 123}
print('jason' in d1) # False
print(123 in d1) # False
字典中的键值对中的V值是不会暴露在外的所以不会被找到!!!!!!!
print('name' in d1) # True
print('pwd' in d1) # True
字典中的K是可以被识别出来的!!!!!!!!!
## 3.身份运算
1.身份运算符
is 判断数据值的内存地址是否一致(火眼金睛)
== 判断数据值得值是否一致 地址无所谓
2.判断内存地址是否一致的大致方法
id() 该方法会返回一串数字 相当于内存地址
3.实际使用
l1 = [11, 22, 33, 44]
l2 = [11, 22, 33, 44]
print(id(l1)) # 2768135836544
print(id(l2)) # 2768135831424
print(l1 == l2) # True 值是相同的
print(l1 is l2) # False id不一样,内存地址是不同的
'''
内存地址一样,指的可能是同一个值
同一个值,可能会在多个内存地址出现
'''
4.python内存优化
l1 = 10
l2 = 10
print(id(l1)) # 140707857893312
print(id(l2)) # 140707857893312
"""py会把数据量较小的且经常使用的数据进性内存优化:小整数池"""
l1 = 9999999
l2 = 9999999
print(id(l1), id(l2)) # 1271940823728 1271940823728
"""有时候IDE编辑工具也会做更多的优化处理(上述代码使用解释器直接运行 地址不一样)"""
流程控制
流程控制的概念
本质就是事物的执行流程 事物的执行流程总共就三种
1.顺序结构
从上往下依次执行 我们之前所写的代码都是顺序结构
2.分支结构
决策树就是其中的一种(随机森林模型,adaboost)
3.循环结构
根据条件的判断绝对是否一直做某件事
知识储备
1.python中使用代码的缩进来表示代码的从属关系
缩进的代码是否运行,与上面有没有父代码有关,注意【平时写的时候要加引号的】
2.缩进缩多少空格都行
为了标准化一般都用Tab缩进(四个空格)
3.并不是所有的代码都可以拥有子代码
if else elif (else elif不要单独使用)
4.同属于一个父代码的多行子代码应该保证相同的缩进量
如果代码缩进了 那就必须往上找一个缩进量比它小的代码作为父代码!!!!!!!!!!!!
这个父代码如果可以拥有子代码 那么没有问题 不可以则直接报错
5.相同缩进的代码就从上向下看就行了
流程控制之分支结构
"""
关键字if就是python中的分支结构的关键词
"""
1.单if分支
if 条件:
条件成立执行执行的代码(子代码)
high = 180
if high < 192:
print('矮冬瓜')
嵌套
age = 28
wealth = 'rich'
if age < 30:
print('小姐姐你好呀!!!')
if wealth = 'rich':
print('跟我学习吧!!!')
2.if...else分支
if 条件:
条件成立之后执行的子代码
else:
条件不成立执行的子代码
检验用户名密码的程序
name = input('请输入用户名')
passworld = input('请输入密码')
if name = 'jason' and password = 123:
print('come in')
else:
print('fuck out')
3.if...elif...else分支
if 条件1:
条件1成立执行的子代码
elif 条件2:
条件1不成立 条件2成立执行的子代码
elif 条件3:
条件1和2都不成立 条件3成立执行的子代码
else:
上述所有的条件都不成立执行的子代码
# elif 和 else都不能单独使用 必须结合if
4.if的嵌套使用
# 在大街上看到一个漂亮的背影 上去要微信
# 如果要微信成功了 则邀请她去看电影(她可能拒绝 也可能接受)
# 如果接受了则继续吃饭 逛街 等待天黑!!!
1.先定义条件
is_wechat = True
is_movie = True
is_agree = False
is_xxx = True
2.写条件式
if is_wechat:
print('可以呀')
if is_movie:
print('可以进一步了')
if is_agree and True:
print(吃饭 逛街 等待天黑!!!)
else:
print('流氓')
else:
print('散了吧')
else:
print('呜呜呜')
作业
1.女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨好
age = input('please input your age')
high = input('please input your high')
weigh = input('please input your weight')
beautiful
if age >= 18 and high >170 and weigh < 100 and beautiful = True:
print('I love you baby')
else:
print('get out of my way')
2.根据用户输入内容打印其权限
name = input('please input your name')
dic = {'jason': '超级管理员', 'tom': '普通管理员', 'jack': '业务主管', 'rain': '业务主管'}
if name in dic:
print(dic[name])
else:
print('普通用户')
3.编写用户登录程序
name = input('please input your name')
pwd = input('please input your passworld')
black_user_list = ['jason', 'kevin', 'tony']
if name not in black_user_list:
if name is jojo and pwd = 123:
print('come in')
else:
print('put it again')
else:
print('refuse')
标签:控制,name,流程,else,l1,print,True,代码,第七天
From: https://www.cnblogs.com/tuq2791/p/16983641.html