zoukankan      html  css  js  c++  java
  • Python全栈学习_day002知识点

    今日大纲:

    1. while循环
    2. 格式化输出
    3. 运算符
    4. 编码初识

    1. while循环

        - while 无限循环:
        while True:     # 死循环
            print('大悲咒')
            print('可不可以')
            print('青春')
            print('两只老虎')
            print('盗将行')
        - while 循环的结构:
        while 条件:
            循环体
    - 如何让循环终止
            1. 改变条件(标志位[flag]的概念)
            flag = True
            while flag:
                print('大悲咒')
                print('可不可以')
                print('青春')
                flag = False
                print('两只老虎')
                print('盗将行')
            2. 加入关键字break,终止循环
            break:循环中,只要遇到break,立马结束循环
            while True:
                print(111)
                print(222)
                break
                print(333)
                print(444)
            print(123)
            结果:
                111
                222
                123
            
        - 用while循环输出1-100
        方法一:
        flag = True
        count = 1
        while flag:
            print(count)
            count += 1
            if count == 101:
                flag = False
        方法二:
        count = 1
        while count < 101:
            print(count)
            count += 1
            
        - 用while,break打印1+2+3+...+100的结果
        count = 1
        sum = 0
        while True:
            sum += count
            count += 1
            if count == 101:
                break
        print(sum)
        
        - continue:结束本次循环,继续下次循环
        while True:
            print(111)
            print(222)
            continue
            print(333)
        
        - while else 结构
        如果while循环被break打断,则不执行else代码
        count = 1
        while count < 4:
            print(count)
            count += 1
        else:
            print(666)
        print(222)
        结果:
        1
        2
        3
        666
        222
    
        count = 1
        while count < 4:
            print(count)
            count += 1
            if count == 3:break
        else:
            print(666)
        print(222)
        结果:
        1
        2
        222
    应用场景:
        1. 验证用户名密码,重新输入这个功能需要while循环
        2. 无限次的显示页面,无限次的输入...

    2. 格式化输出

    
    
       制作一个模板,某些位置的参数的动态的,像这样就需要用格式化输出
        字符串的动态替换
    
        第一种方式:
        name = input('请输入姓名:')
        age = input('请输入年龄:')
        sex = input('请输入性别:')
        # % 为占位符;s:str,数据类型为字符串;d: digit,数据类型为数字
        msg = '你的名字是%s,你的年龄是%s,你的性别是%s' % (name, age, sex)
        print(msg)
        
        第二种方式:
        name = input('请输入姓名:')
        age = input('请输入年龄:')
        sex = input('请输入性别:')
        msg = '你的名字是%(name1)s,你的年龄是%(age1)s,你的性别是%(sex1)s' % {'name1':name, 'age1':age, 'sex1':sex}
        print(msg)
        
    
        小知识点:在格式化输出中,只想单纯的表示一个%时,应该用两个%表示
    
        name = 'BlameK'
        age = 23
        msg = '我叫%s,今年%s,我的学习进度1%%' % (name, age)
        print(msg)
        结果:
        我叫BlameK,今年23,我的学习进度1%

    3. 运算符

        算术运算:
        +:加
        -:减
        *:乘
        /:除
        %:取余,返回除法的余数
        **:幂
        //:取整除 - 返回商的整数部分
        
        比较运算:
        ==:等于 - 比较对象是否相等
        !=:不等于 - 比较两个对象是否不相等
        <>:不等于
        >:大于
        <:小于
        >=:大于等于
        <=:小于等于
        
        赋值运算:
        =:简单的赋值运算符
        +=:加法赋值运算符
            count = count + 1  简写  count += 1
        -=:减法赋值运算符
        *=:乘法赋值运算符
            count = count * 5  简写  count *= 5
        /=:除法赋值运算符
        %=:取模赋值运算符
        **=:幂赋值运算符
        //=:取整除赋值运算符
        
        逻辑运算:
        and:布尔‘与’
        or:布尔‘或’
        not:布尔‘非’
        优先级(从高到低):
        ()、not、and、or
        第一种情况:前后条件为比较运算
        print(1 < 2 or 3 > 1)   True
        print(1 < 2 and 3> 4)   False
        print(1 < 2 and 3 > 4 or 8 < 6 and 9 > 5 or 7 > 2)  True
        print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)  False
        print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)    False
    
        第二种情况:前后两边的条件为数值
        x or y if x is True,return x
        print(1 or 2)   1
        print(0 or 2)   2
        print(0 or 0)   0
        print(-1 or 3)  -1
        and 和 or相反
        print(1 and 2)  2
        print(0 and 2)  0
        print(2 and -1) -1
        
        print(1 or 3 and 5 or 4)    1
        print(0 or 3 and 5 or 4)    5
        变态面试题(总结规律):
        print(1 > 2 or 3 and 4 < 6)     True
        print(2 or 3 and 4 < 6)     2
        
        补充:
        int --> bool
        0对应的bool值为False,非0都是True
        print(bool(100))    True
        print(bool(-1))     True
        print(bool(0))      False
        print(int(True))    1
        print(int(False))   0
    应用场景:
        1. if while 等条件判断(数据库,Django ORM复杂查询)
        2. 面试时

    4. 编码初识

        尹宁
        太白:今晚吃鸡!
        今:0101
        晚:010111
        吃:0101 00000 01
        鸡:011
        010101011101010000001011
        上面的不合理,应该有断位
        固定8位:
        今:0101 0001
        晚:0101 1101
        吃:0101 0001
        鸡:0111 1100
        01010001 01011101 01010001 01111100
        断位,要有一个密码本:记录的铭文与二进制的对应关系
     ASCII:最初版本的密码本:所有的英文字母,数字,特殊字符。
            最初:一个字符(7位) 000 0001
            后来优化:一个字符(8位) 0000 0001
                (最左一位全是0)
            A:0100 0001 65
            a:0110 0001 97
            c:0110 0011 99
            8位 == 一个字节
        对于ASCII码(1个字符 == 1个字节)来说:
            'Hello Laddy'   11个字符,11个字节,88位
        字符:你能看到的这个内容的最小单元。
    
        unicode: 万国码,将所有国家的语言文字都写入这个密码本
            起初:1个字符 == 16位 == 2个字节
                A:01000001 01100001
                中:01100011 01100001
                但这样仍然表示不完所有中文
            改版:1个字符 == 32位 == 4个字节
                中:01100011 01100001 01000001 01100001
            浪费资源,占空间
        8位永远等于一个字节
    
        utf-8:最少用8位去表示一个字符。
               A:01000001   一个字节
            欧洲:01100011 01100001    两个字节
            中文:01100011 01100001 01000001   三个字节
            'old男孩'     9个字节
    
    
        gbk:国标,只包含中文、英文(英文字母、数字、特殊字符)
               A:01000001   一个字节
            中文:01100011 01100001    两个字节
    
        gbk、utf-8之间的转换?(下次讲解)
            必须通过unicode进行转换
    8 bit(位) == 1 bytes(字节)[1 B]
        1024 bytes(1024 B) == 1 KB
        1024 KB == 1 MB
        1024 MB == 1 GB
        1024 GB == 1 TB
  • 相关阅读:
    部署LVS-DR(直接路由)群集
    快速了解LVS负载均衡群集及部署LVS-NAT(地址转换)群集
    MySQL一些常用的高级SQL语句
    MySQL高可用群集MHA部署及故障测试
    MySQL的主从复制与读写分离
    你知道数据库中数据丢失的严重性吗,快来学习数据库的备份与恢复!!
    快速掌握mysql索引、事务与存储引擎知识以及使用命令
    MySQL数据库常用的一些管理操作
    带大家简单了解MySQL数据库
    剑指offer63-数据流中的中位数**
  • 原文地址:https://www.cnblogs.com/lpgit/p/9845699.html
Copyright © 2011-2022 走看看