zoukankan      html  css  js  c++  java
  • Python基础第二天

    今天主要内容为;

    1.'in' or 'not in' 包含的用法

    2.while else  的用法.

    3.格式化输出

    4.运算符

    5.逻辑运算

    6.编码

     

    1.in 和 not in 的用法:判断子元素是否在原字符串(字典,列表,集合)中.

    in 表示包含的意思.  comment = '老男孩 is linux Great God'

                                  print('linux' in comment)

    错误:

     

    正确:

    结论: 使用in命令,判断是否存在该项目,必须与原内容顺序,格式保持一致.否则报 False.

    not in 含义:表示匹配的内容不再原内容中.

     

    2.while ... else  格式

    介绍:此循环不常用,在循环迭代正常完成后执行,换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行。也就是在循环体内没有break语句、没有return语句,或者没有异常出现.

    应用环境:else语句在循环中的一个常见使用案例是实现循环查找。假说你在查找一个满足特定条件的项目(item),同时需要进行附加处理,或者在未发现可接受的值时生成一个错误,没有else语句的话,你需要设置一个标志,然后在后面对其检测,以此确定是否存在满足条件的值。类似Python的许多其他特性,else语句可以生成更加优雅的Python风格的(Pythonic)代码.

    总结: while else  如果 循环被break打断,程序不会走else.

    实现:

    未打印

    count = 1
    while True:
    print(count)
    if count == 3:break
    count += 1
    else:
    print('循环正常完毕')

     

    打印:

    count = 1
    flag = True
    while flag:
    print(count)
    if count == 3:
    flag = False
    count += 1
    else:
    print('循环正常完毕')

     

    3.格式化输出

     % 占位符 s str 字符串 d digit 数字

    1)第一种,固定格式的填充

    错误表示引用的类型不对,固定格式要的是数字,得到的是字符串.

    更改方式:

    (1)此方式保证以后输出的%d是int形式,但是不能保证输入时必须输入数字.

    (2)保证输出时是int形式,并且必须输入数字才可以.

     

     2)代码中有%号,如何进行转义:

    在格式化输出中单纯的显示% 用%% 解决。

    name = input('请输入你的姓名:')

    age = input('请输入你的年龄:')

    msg = '我叫%s,今年%d岁,学习进度为1%%' % (name,int(age))

    print(msg)

    3)第二种,字典格式

    书写格式错误:

    正确格式:

     4.常用运算符

    1)基本运算

    计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

    算数运算

    以下假设变量:a=10,b=20

    比较运算

    以下假设变量:a=10,b=20

    赋值运算

    以下假设变量:a=10,b=20

     

     2.逻辑运算

    and,or,not

    逻辑运算

    针对逻辑运算的进一步研究:

      1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

    例题:

    判断下列逻辑语句的True,False。

    复制代码
    1,3>4 or 4<3 and 1==1
    2,1 < 2 and 3 < 4 or 1>2 
    3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
    4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
    5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    复制代码

      2 ,  x or y , x为真,值就是x,x为假,值是y;

                 x and y, x为真,值是y,x为假,值是x。

     

     

     第一种:前后都是比较运算。
    #优先级:()> not > and > or 同一个优先级,从左至右依次计算。

    理解:先算括号内,再算not,然后是and,最后计算or两边的值.

    举例:
    # print(1 > 2 and 3 < 4 and 3 > 2 or 2 < 3)
    # print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
    # print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
     第二种:前后都是数值运算。
    '''
    x or y if x True,则 return x,否则 return y
    '''

    举例:
    # print(1 or 3)
    # print(1 or 3)
    # print(2 or 3)
    # print(0 or 3)
    # print(-1 or 3)
    # print(1 and 2)
    # print(0 and 2)

     第三种:混合。

    举例:
    # print(1 > 2 or 3 and 4)
    # print(2 or 2 > 3 and 4)
    # print(0 or 2 > 3 and 4)

    #数据类型转换:
    int ---> bool 非0即True,0为False
    bool---> int True 1 False 0
    print(int(True))
    print(int(False))
    print(bool(100))
    print(bool(0))

    5.编码问题

    2,计算机在存储,和传输的时候, 01010101(二进制)
    初期密码本:
    asiic 包含数字,英文,特殊字符。八位
    01000001 01000010 01000011 A B C
    8位 = 1 byte 表示一个字符。

    万国码unicode,将所有国家的语言包含在这个密码本。
    初期:16位,两个字节,表示一个字符。
    A : 00010000 00010010
    中: 00010010 00010010
    升级:32位,四个字节,表示一个字符。
    A : 00010000 00010010 00010000 00010010
    中: 00010010 00010010 00010010 00010010
    资源浪费。

    升级:utf-8。最少用8位(一个字节),表示一个字符。
    英文:a :00010000 用8位表示一个字符。
    欧洲:00010000 00010000 16位两个字节表示一个字符。
    亚洲 中 :00010000 00010000 00010000 24位,三个字节表示一个字符。

    utf-16(不常用)

    gbk:国标。
    只包含:英文中文。
    英文:a :00010000 8位,一个字节表示一个字符。
    中文:中:00010000 00010000 16位,两个字节表示一个字符。
    gb2312.....

    计算机单位的转换:

    8 bit = 1byte
    1024byte=1kb
    1024kb = 1MB
    1024MB = 1GB
    1024GB = 1TB

  • 相关阅读:
    互联网、云大数据相关书籍推荐
    育儿、教育书籍推荐
    MySQL客户端工具的选择
    解决Windows10或者其他版本Windows Update报错的问题
    启动Myeclipse报错“Failed to create the Java Virtual Machine”的解决办法
    mysql的日期存储字段比较int,datetime,timestamp区别
    nginx增加ssl服务方法
    mysql导入出现MySQL Error 1153
    mysql忘记密码修改方法
    清空本地ssh记录数据,ssh: connect to host Ip port 22: Connection refused
  • 原文地址:https://www.cnblogs.com/tom2ling/p/8603072.html
Copyright © 2011-2022 走看看