2021-04-14

4.14 day03 学习内容

昨日内容回顾

你的每一次进步都是一次赶鸭子上架的过程

  • 代码注释

    # 注释内容
    '''注释内容'''
    """注释内容"""
    
  • 变量与常量

    1.变量名  赋值符号  变量值
    	重点掌握内部原理
       
    2.变量名的命名规范
    
    3.变量名的命名风格
    
    4.常量
    	全大写
    
  • 基本数据类型

    整型  int
    	age = 18
     
    浮点型  float
    	salary = 3.1
      
    字符串  str
    	name = 'jason'
        name = "jason"
        name = '''jason'''
        name = """jason"""
     
    列表  list
    	name_list = ['jason',11,11.11,[11,22,33]]
      
    字典  dict
    	info={'username':'jason','password':123}
     
    布尔值  bool
    	TrueFalse
        
    元组
    	name_list = ('jason','kevin','tony')
        
    集合
    	num = {1,2,3,4,5,6}
    
  • 运算符

    # 增量赋值
    	x += 1
      
    # 链式赋值
    	x = y = z = 1
     
    # 交叉赋值
    	m, n = n, m
       
    # 解压赋值
    	x,y,z = [11,22,33]
        x,*_ = [1,2,3,4,5,6]
    

今日内容概要

  • 运算符
  • 流程控制(重点)
  • 数据类型的内置方法
  • 字符编码
  • 文件操作(重点)

今日内容详细

运算符

# 逻辑运算符
	and	与
    	链接多个条件 多个条件必须都成立结果才为True
    or	或
    	链接多个条件 多个条件只要有一个成立结果就为True
    not	非
    	取反
"""
当上述三者混合使用的时候 其实它们是有优先级之分的
	我们在操作的时候通过人为加括号的形式来明确优先级
"""

# 成员运算
	name_list = ['jason','egon','tony','kevin']
    username = input("username>>>:")
    print(username in name_list)
    print(username not in name_list)
    
# 身份运算
	is判断内存地址是否一致
    ==判断值是否一致
    
    
	>>> x = 'jason jason jason'
    >>> y = 'jason jason jason'
    >>> id(x)
    2120468678384
    >>> id(y)
    2120468678456
    >>> x is y
    False
    >>> x == y
    True

流程控制

程序的执行流程分为三种结构:
	顺序结构
    	之前我们写的代码都是顺序结构 一条线流水下来的
    分支结构
    	基于条件判断做出不同的响应
        eg:根据天气决定是否带伞 根据心情决定是否出去嗨皮...
    循环结构
    	循环着重复做某件事
        eg:流水线操作工...

分支结构

多个分支只会走其中一个

# 如果年龄大于30岁 叫阿姨
age = 28
if age > 30:
    print('阿姨好')

"""
代码的缩进
	1.在python中 我们通过缩进来表示代码的从属关系(缩进一般使用四个空格)
	2.并不是所有的代码都可以拥有子代码
		判断代码是否缩进可以根据关键符号 冒号
	3.子代码可以有多行 并且如果多个子代码属于一个父代码
		那么它们的缩进必须是相同的
"""
# 如果年龄大于30岁 叫阿姨 否则叫小姐姐
age = 32
if age > 30:
    print('阿姨好')
else:
    print('小姐姐')
# 如果:成绩>=90,那么:优秀
# 如果成绩>=80且<90,那么:良好
# 如果成绩>=70且<80,那么:普通
# 其他情况:很差
score = input('score>>>:')
score = int(score)  # 将字符串的分数转换成数字
if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('普通')
else:
    print('很差')
  
语法结构总结
if 条件1:   # 如果条件1的结果为True,就依次执行:代码1、代码2
   代码1
    代码2
elif 条件2: # 如果条件2的结果为True,就依次执行:代码3、代码4
   代码3
    代码4
elif 条件3: # 如果条件3的结果为True,就依次执行:代码5、代码6
   代码5
    代码6
else:     # 其它情况,就依次执行:代码7、代码8
    代码7
    代码8
    
    
# 拔高	if嵌套
# 如果:女人年龄<28岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨
# 如果表白成功则去吃饭看电影 如果失败则走人
age = 24
height = 171
weight = 99
is_beautiful = True
is_success = True
if age < 28 and height > 170 and weight < 100 and is_beautiful:
    print('小姐姐 加个微信呗')
    if is_success:
        print('吃饭 看电影 天黑了')
    else:
        print('去你妹的 流氓')
else:
    print('不好意思 认错人了')
	
   
# 用户登录功能
# 先获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 判断用户名和密码是否正确
if username == 'jason' and password == '123':
    print('登录成功')
else:
    print('用户名或密码错误')

循环结构

while True:
    # 先获取用户的用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')
    # 判断用户名和密码是否正确
    if username == 'jason' and password == '123':
        print('登录成功')
    else:
        print('用户名或密码错误')
       
while 条件:  
	代码1
    代码2
    代码3
# while的运行步骤:
# 步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3
# 步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3,如果条件为False,则循环终止


# 结束本层循环
	break
    while True:
    # 先获取用户的用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')
    # 判断用户名和密码是否正确
    if username == 'jason' and password == '123':
        print('登录成功')
        while True:
            cmd = input('请输入您的指令>>>:')
            print('真正指向您的指令:%s'%cmd)
            break  # 只能结束离它最近的那一层父while循环
        break
    else:
        print('用户名或密码错误')
 
# 结束本次循环
	continue
    # 循环大于1-10 但是不包含数字7
    count = 1
    while count < 11:
        # 每次大于之前 先判断count是多少
        if count == 7:
            count += 1
            # 结束本次循环 重新开始下一次循环
            continue
        print(count)
        count += 1

for循环

for循环能够做到的事情 while循环都可以做到
但是for循环使用起来更加的方便(使用频率更高)

for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典
	代码一
	代码二
    ...
    
name_list = ['jason','kevin','tony','tom']
# 循环打印列表中的每一个元素
# while
# count = 0
# while count < 4:
#     print(name_list[count])
#     count += 1

# for
# for i in name_list:
#     print(i)

# for循环的变量名 如果没有合适的 一般使用 i j k item等
res = '20岁超越30岁、40岁、50岁人的成就'
for i in res:
     print(i)  # 就是将字符串里面一个个字符挨个赋值给变量i

user_info = {
    'username':'jason',
    'password':123,
    'hobby':['read','study']
}
for i in user_info:
    print(i)  # 循环字典只会挨个获取到字典的key
 

# range方法
	# 默认从0开始到9结束 
	for i in range(10):
    	print(i)
       
    # 从1开始到9结束
    for i in range(1,10):
        print(i)
        
    # 从1开始到99结束 并且间隔20
    for i in range(1,100,20):
        print(i)

数据类型内置方法

"""
查看某个数据类型的内置方法 可以借助于编辑软件自动提示功能
	数据类型关键字.
"""
1.整型
	int()  
 
2.浮点型
	float()
  
3.字符串
	str()
    res = 'jasonNB'
    1.计算字符串长度
    print(len(res))  # 7
    2.索引取值(0开始)
    print(res[2])  # s
    3.切片操作
    print(res[2:5])  # son
    4.步长
    print(res[2:5:2])  # sn
    5.移除字符串首尾的指定字符
    name = '          jason          '
    print(len(name))
    res1 = name.strip()
    print(res1,len(res1))
    username = input('username>>>:').strip()
    if username == 'jason':
        print('欢迎jason')
    else:
        print('滚蛋')
    name1 = '$$jason$$'
    print(name1.strip('$'))
    print(name1.lstrip('$'))
    print(name1.rstrip('$'))
    6.按照指定的字符切割字符串
    info = 'jason|123|read'
    res = info.split('|')
    print(res)  # ['jason', '123', 'read']
    7.统计字符个数
    res = 'jason jason kevin tony'
    print(res.count('o'))
    8.判断字符串是否是纯数字
    print('123'.isdigit())
    print('123a'.isdigit())
    score = input('score>>>:')
    if score.isdigit():
        score = int(score)  # 将字符串的分数转换成数字
        if score >= 90:
            print('优秀')
        elif score >= 80:
            print('良好')
        elif score >= 70:
            print('普通')
        else:
            print('很差')
    else:
        print('请输入纯数字')
    9.替换字符串
    res = 'jason is DSB jason jason jason'
    print(res.replace('jason','tony'))
    print(res.replace('jason','tony',2))
    10.大小写转换及判断
    res = 'JaSoN OlDBOy 666'
    print(res.upper())
    print(res.lower())
    print(res.isupper())  # 是否是纯大写
    print(res.islower())  # 是否是纯小写
    
# 列表
name_list = ['jason','egon','tony','kevin']
# 1.统计长度
# print(len(name_list))  # 4
# 2.索引取值 切片操作
# print(name_list[1],name_list[1:4],name_list[-1])
# 3.统计个数
# print(name_list.count('jason'))
# 4.添加元素(重点)
# name_list.append('jack')
# print(name_list)  # 尾部追加元素
# name_list1 = ['aaa','bbb','ccc']
# name_list.extend(name_list1)  # 扩展列表
# print(name_list)
# name_list.insert(0,'heiheihei')
# print(name_list)
# 5.修改元素
# name_list[0] = 'jasonNB'
# print(name_list)
# 6.删除元素
# name_list.pop()  # 尾部弹出
# print(name_list)
# name_list.pop(0)  # 自定义索引位置
# print(name_list)
# name_list.remove('tony')
# print(name_list)
# 7.排序
l = [11,77,55,33,66,99,22]
# l.sort()  # 升序
l.sort(reverse=True)  # 降序
print(l)

可变类型与不可变类型

可变类型
	值改变内存地址不变
不可变类型
	值改变内存地址肯定改变
res = '$$jason$$'
n = res.strip('$')  # 产生了新的数据
print(n)

l = [11,22,33]
print(id(l))
l.append(44)
print(l,id(l))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值