昨日内容回顾
- 基本数据类型
- 列表(list)
1.能够存储多个数据,且可获取单个或整体数据
2.中括号括起来[ ],里面可以存放多个且不同数据类型的数据(包括列表),各个数据用逗号隔开
3.索引取值: # 索引通常是从0开始
L1 = [11,12,13,[14,15,16],17]
print(L1[3]) # 出来的结果是14,15,16 - 字典(dict)
1.能够存储多个数据,且可获取单个或整体数据,且数据还会有对应的解释
2.花括号括起来{ },内部可以存放多个数据,数据的表现形式是K:V键值对
K是V的描述信息,一般都是字符串
V是真实数据,可以是任意数据类型
3.字典取值: # 字典无法使用索引取值,因为是无序的,只能用按K取值
info = {‘姓名’:’张三’ , ‘年龄’:’18’ , ‘爱好’ : ‘跑步’}
print = (info[‘姓名’])# 结果为张三
4.定义空字典
D1 = {} - 布尔值(bool)
1.用来表示事物是否可行、正确、合理
2.只有两种值:# 首字母必须大写
True 真、可以、正确
False 假、不可以、错误
3.存储布尔值的名字要用is开头
is_right = True
is_delete = False - 元组(tuple)
1.和列表一致,但是元组内的数据不能”直接修改”,一般用于存储不能改的数据
2.用小括号括起来(),里面可以存放多个且不同数据类型的数据,用逗号隔开
t1 = (11,12,13) - 集合(set)
1.主要用于去重和关系运算
2.和字典一样都是用花括号{}括起来,但是里面不用K:V键值对,而是用数据值的形式
s1 = {1,2,3}
3.定义空集合
s1 = set()
- 与用户交互
- 输入
input() #获取用户输入的信息 - 输出
print() #打印内部数据值
- 格式化输出
提前准备好文本,然后用格式化输出替换文本中的某些内容
%s 能给所有的数据类型占位
eg:
info = “亲爱的%s你好,你%s月账单为%s,余额为%s”
print(info %(‘张三’,5,60,100)) #结果为:亲爱的张三你好,你5月账单为60,余额为100
%d 只给数字占位
eg:
print(‘%08d’ % 123) #结果为00000123 - 基本运算符
x = x + 1 x += 1
x = x – 1x -= 1 - 多种赋值符号
1.链式赋值
a = b = c = 10 #让a b c都绑定10的值
2.交叉赋值
n, m = m, n #让n绑定m的值,m绑定n的值
3.解压赋值
a, b, c = [11,12,13] #让a b c 分别绑定三个值
a, *b, c = [11,12,13,14,15] #结果为 a=11 b=[12,13,14] c=15
今日内容概要
- 作业讲解
- 运算符补充
- 逻辑运算、成员运算、身份运算
- 流程控制概念
- 流程控制详细语法(最重要)
- 顺序结构
- 分支结构
- 循环结构
今日内容详细
1.作业讲解
2.运算符补充
1)逻辑运算
and 与
or 或
not 非
上面三个运算符都是用来配合条件一起使用
and链接的多个条件必须’都成立’,结果才成立(True)服务器托管网
or链接的多个条件’有一个成立’,结果就成立(True)
not将条件取反,本来是对的变成错,本来是错的变成对
# 如果所有连接符号都是and,那么只要有一个不符合结果肯定不成立,剩下的就不用看了
# 如果所有链接符号都是or,那么只要有一个符合,结果肯定成立
# not的操作是 not True/not False 把个条件取反
# 如果三者混合使用,那必须加上括号来区分优先级
eg:
(3>4 and 4>3) or ((1==3 and ‘x’==’x’) or 3 >3)
( 错 与 对)或 (( 错 与 对 ) 或 错 )
错 错
错 或 错
2)成员运算
in 在…之内
not in 不在…之内
1.#列表在做成员运算时,最小单位就是服务器托管网数据值整体,不可拆分或合并
eg:
L1 = [‘张三’,’李四’,’王五’]
print(‘张三’ in L1) # 结果为True
print(‘张’ in L1) # 结果为False
print(‘张三 李四’ in L1) # 结果为False
2.#字符串在做成员运算时,最小单位就是单个字符或多个字符
eg:
L1 = ‘hello my baby’
print(‘h’ in L1) # 结果为True
print(‘he’ in L1) # 结果为True
print(‘hello my’ in L1) # 结果为True
3.#字典在做成员运算时,只有K会参与运算,V默认不暴露外界
eg:
L1 = {‘name’:’张三’,’pwd’:123}
print(‘name’ in L1) # 结果为True
print(‘张三’ in L1) # 结果为False
3)身份运算
1. is 判断数据值的内存地址是否一致
== 等于/判断数据值的值是否一致(不看地址)
2.储备知识:
print() 打印数据
input() 获取用户输入的信息
type() 查看数据类型
id() 查看某个数据的内存地址
3.练习:
L1 = [11,12,13]
L2 = [11,12,13]
print(id(L1)) # 123123123(查看L1的内存地址)
print(id(L2)) # 122123556(查看L2的内存地址)
print(L1 == L2) #结果为 True(判断L1和L2的值是否一致)
print(L1 is L2) #结果为 False(判断L1和L2内存地址是否一致)
值相等 内存地址不一定相等
内存地址相等 值肯定相等(单词程序中)
4.python内存优化
python针对数据量比较小且经常使用的数据会做内存优化:两个一样的数字存放在一起’小整数池’
3.流程控制概念
本质就是事物的执行流程,共有三种
1)顺序结构
从上到下依次执行代码
2)分支结构
根据条件的不同执行不同的代码
3)循环结构
根据条件的判断决定是否一直执行该代码
4.流程控制语法
1)分支结构
1.单if分支
if 条件:
条件成立之后执行的子代码
#条件可以是布尔值 也可以是表达式
#判断的条件可以是一个 也可以由逻辑运算符链接的多个
1)实战演练
# 1.定义女人的年龄
age = 18
# 2.判断女人的年龄
if age print(‘你好小姐姐’)
——————————————————————
#嵌套:if下套if
age = 18
if age print(‘你好小姐姐’)
if 1: # 0为False 1为True
print(‘一起玩’)
2.if…else分支
if 条件:
条件成立后执行的子代码
else:
条件不成立后执行的子代码
#判断的条件可以是一个 也可以是由逻辑运算符连接的多个
1)实战演练
# 1.获取用户名和密码
name = input(‘用户名:’)
pwd = input(‘密码:’)
# 2.判断用户名是否正确
if name ==’张三’ and pwd == ‘123’:
print(‘登陆成功’)
else:
print(‘登陆失败’)
3.if…elif..else分支
if 条件1:
条件1成立后执行的子代码
elif 条件2:
条件1不成立,条件2成立后执行的子代码
elif 条件3:
条件2不成立,条件3成立后执行的子代码
else:
以上条件都不成立后执行的子代码
# if elif else三个一起用 永远只会走一个分支(当上一个条件不成立就会走下面的条件)
# elif 和 else都不能单独使用 必须结合if
1)实战演练
如果成绩大于90打印优秀,大于70打印良好,大于60打印及格,其他打印挂科
cj = ’88’
if cj > ’90’:
print(‘优秀’)
elif cj > ’70’:
print(‘良好’)
elif cj > ’60’:
print(‘及格’)
else:
print(‘挂科’)
4.if的嵌套使用
eg: #1.先定义各种条件
is_wx = True
is_dy = False
is_hj = True
#2.条件判断
if is_wx:
print(‘成功要到微信’)
if is_dy:
print(‘成功一起看电影’)
if is_hj:
print(‘成功一起喝酒’)
else:
print(“没约到喝酒”)
else:
print(‘没约到看电影’)
else:
print(“没要到微信”)
#if下可以继续跟if,else可以最后补,但是要注意是否在同一个缩进里
作业:
1.女人的年龄>=18并且170并且体重2.根据用户输入内容打印其权限
”’
jason –> 超级管理员
tom –> 普通管理员
jack,rain –> 业务主管
其他 –> 普通用户
”’
3.编写用户登录程序
要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
eg:black_user_list = [‘jason’,’kevin’,’tony’]
如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
eg: oscar 123
1.
# 需注意input() 用户输入的是字符,当字符数字与字符数字比大小时,是按照位置顺序一个一个比较。如一定要比较那就需要把用户输入的信息改为整数型int()
# 定义布尔值名称要用is开头
# 所有数据类型本身自带布尔值
2.
3.
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
什么是函数?从定义来看,函数就是一段可以重复使用的代码块,比如下面这样 void hanshu() { int a = 0; int b = 3; } 这时候就应该有人要跳出来了,这是什么**!确实,作为一个强烈反对屎山代码存在的编程者来说,一个好的函数应该是…