编程语言
首页 > 编程语言> > python课堂整理day07

python课堂整理day07

作者:互联网

今日内容概要

今日内容详细

知识补充

输入输出在python2和python3中的区别

1.输入的区别

python3只有一个input(),并且都转成字符串类型
python2有两个获取用户输入的方式
1.input()输入的数据必须自己加上数据的特征,输啥就是啥

   name = input('name>>>:')
   name>>>:123
   >>> type(name)
   <type 'int'>

还能够识别一些简单的代码(了解即可)
2.raw_input() 等价于python3里面的input,接收的数据都会转成字符串

2.输出的区别

python3只有print()一种用法
python2有两种用法 print print()

运算符补充

1.逻辑运算符

1.逻辑运算符

and 与
or 或
not 非
上述三个运算符都是用来配合条件一起使用
and链接的多个条件必须都成立结果才成立(True),两个为真才为真
or链接的多个条件有一个成立结果就成立(True),两个为假才为假
not将条件取反(原本是对的就变成错的,如果是错的多就变成对的),真变假,假变真

2.实战演练

1.and
1 == 1 and 2 > 10 and 3 != 6 and true and 10 < 2
如果所有的连接符号都是and,那么判断的时候非常简单,只要有一个不符合,后面都不需要再看,结果肯定不成立

举例
print(2>0 and 5>0)
print(2>0 and 5<0)
print(2<0 and 5>0)
print(2<0 and 5<0)
终端输出
True
False
False
False

记忆口诀:两个为真才为真
2.or

1 != 1 or 2==2 or  false or 3 < 2 or 10 < 1

如果所有的连接符号都是or,那么判断的时候非常简单,只要有一个符合,后面也不用看了,结果肯定成立

举例
print(2>0 or 5>0)
print(2>0 or 5<0)
print(2<0 or 5>0)
print(2<0 or 5<0)
终端输出
True
True
True
False

记忆口诀:两个为假才为假
3.not

举例
print(not True)
print(not False)
终端输出
False
True

记忆口诀:真变假,假变真

3.注意事项

三者如果混合使用,其实是有优先级的!

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.成员运算符

1.成员运算符

in 在什么什么之内
not in 不在什么什么之内

2.实战演练

    l1 = ['jason', 'kevin', 'tony',     'oscar', 'jerry']
    # 判断某个人名在不在班级学生名单中(判断某个个体在不在某个群体内)
    print('jason' in l1)  # True
    print('ja' in l1)  # False
    print('jason kevin' in l1)  # False
    '''列表在做成员运算的时候最小单位是数据值整体 不能再拆分也不能合并'''

    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
    print('name' in d1)  # True
    print('pwd' in d1)  # True
    '''字典在做成员运算的时候只有K会参与运算 V默认不暴露给外界'''

not in是in的逆运算,其使用语法与in类似,只是结果相反

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 判断内存地址

值相等 内存地址可能不等
内存地址相等 值肯定相等(单次程序中)

4.python内存优化

    # l1 = 10
    # l2 = 10
    # print(id(l1))  # 140707857893312
    # print(id(l2))  # 140707857893312
    """python针对数据量比较小的并且经常使用的数据会做内存优化:小整数池"""
    l1 = 9999999
    l2 = 9999999
    print(id(l1), id(l2))  # 1271940823728 1271940823728
    """有时候IDE编辑工具也会做更多的优化处理(上述代码使用解释器直接运行 地址不一样)"""

流程控制理论

流程控制的概念
本质就是事物的执行流程,事物的执行流程总共就三种
1.顺序结构:就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码
2.分支结构:就是让程序“拐弯”,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码
3.循环结构:就是让程序“杀个回马枪”,不断地重复执行同一段代码
image

储备知识

1.python中使用代码的缩进来表示代码的从属关系,缩进的代码是否运行取决于上面没有缩进的父代码(结尾有冒号)
2.缩进量其实没有要求,只要缩进了即可,但是为了美观一般推荐使用四个空格
3.并不是所有的代码都可以拥有子代码
if关键字 else关键字 elif关键字 (elif else不能单独使用)
4.同属于一个父代码的多行子代码应该保证相同的缩进量,如果代码缩进了,那就必须往上找一个缩进量比它小的代码作为父代码,这个父代码如果可以拥有子代码,那么没有问题,不可以则直接报错
5.相同缩进量的代码彼此之间没有主次之分,都是按照顺序依次执行

流程控制之分支结构

在python中如果想要编写分支结构,那么需要使用关键字if
image

1.单if分支

if条件:条件成立执行执行的代码(子代码)
条件可以是布尔值,也可以是表达式
判断的条件可以是一个,也可以是由逻辑运算符连接的多个

实战演练

1.定义女人的年龄
      age = 28
2.判断女人的年龄
      if age < 30:
          print('小姐姐你好呀!!!')

2.if...else分支

if条件:条件成立之后执行的子代码
else:条件不成立执行的子代码
判断的条件可以是一个,也可以是由逻辑运算符连接的多个

1.获取用户名和密码
    name = input('name>>>:')
    pwd = input('pwd>>>:')
2.判断用户名和密码是否正确(目前只能写死)
  # if name == 'jason' and pwd == 123: # 这样错误
    if name == 'jason' and pwd == '123':  # python中不同数据类型之间无法直接做比较
        print('贵宾一位')
    else:
        print('没钱滚蛋')

3.if...elif...else分支

if 条件1:
条件1成立执行的子代码
elif 条件2:
条件1不成立,条件2成立执行的子代码
elif 条件3:
条件1和2都不成立,条件3成立执行的子代码
else:
上述所有的条件都不成立执行的子代码

if elif else三者连用,永远只会走一个分支
elif 和 else都不能单独使用,必须结合if
score = int(input('请输入学生的成绩:'))
   #input获取的都是字符串,做类型转换
if score/100 >= 90:
    print('好学生')
elif score/100 >=80:
    print('中等生')
elif score/100 >=60:
    print('中下等学生')
else:
    print('差学生')

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

image

image

image

作业2

image

image

image

作业3

image

image

image

标签:name,python,代码,day07,else,l1,print,课堂,True
来源: https://www.cnblogs.com/wanjinalei/p/16398518.html