• Python基础 之 变量、用户交互、if条件语句、while循环语句、编码、逻辑运算


    一、Python介绍

    Python 崇尚优美、清晰、简单

    Python是一门动态解释型的强制性定义的语言。

    二、编译型和解释型的区别

    • 编译型:一次性将所有与程序编译成二进制文件。
      • 缺点:开发效率低,不能跨平台。
      • 优点:运行速度快。
      • 比如:C、C++等。
    • 解释型:当程序执行时,一行一行地解释。
      • 优点:开发效率高,可以跨平台。
      • 缺点:运行速度慢。
      • 比如:Python、Php等。

    三、变量

    1、定义:将一些运算的中间结果暂存到内存中,以便后期使用。

    2、命名规范:1)必须由数字、字母、下划线任意组合,但不能与数字开头;

                         2)不能是python中的关键字;

                         3)变量具有可描述性;

                         4)不能是中文。

    3、python中的关键字:

    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

    4、命名方式:

    1)驼峰式(单词首字母大写)

    2)下划线(字母小写)

    四、常量

    定义:一直不变的量。

    常量名:全部大写。

    例如:BIR_OF_CHINA=1949

    五、注释

    注释:方便自己和他人理解代码。

    单行注释:#

    多行注释:三引号之间(单引号或双引号都行)。

    例如:'''被注释内容''' 或 """被注释内容"""。

    六、基础数据类型初始

    数字:Int  (整型)    

    例:23,34,67

    加:+   减:-   乘:*   除:/   取余:%

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

    字符串:Str    

    在Python中,凡是在引号里面的,都是字符串,单双引号都可以。但是,多行字符串必须用多引号。

    例如:

    msg = '''
    今天我想写首小诗,
    歌颂我的同桌,
    你看他那乌黑的短发,
    好像一只炸毛鸡。
    '''
    print(msg)

    可相加:字符串中的拼接;

    注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

    可相乘:str*int

    字符串转化为数字:int(str)条件:str必须是数字组成的

    数字转化为字符串:str(int)

    布尔值:bool

    只有两种结果:True 或False

    七、用户交互

    1、等待输入

    2、将你输入的内容赋值给前面变量

    3、input出来的数据全部是字符串型

    例如:打印姓名

    name=input("请输入你的名字:")
    print(name)

    八、IF条件语句

    第一种:

    if    条件:

            结果

    例如:

    if 5>4
        print(666)

    第二种:

    if    条件:

            结果

    else    条件:

            结果

    例如:

    if 5>4
        print(666)
    else:
        print(999) 

    第三种:

    if    条件:

            结果

    elif  条件:

            结果

    else    条件:

            结果

    例如:

    num=input("请输入你想要猜的数字:")
    if num==1:
        print("一起吃饭")
    elif num==2:
        print("一起逛街")
    elif num==3:
        print("一起旅游")
    else:
        print("哪都不去")

    第四种:嵌套

    例如:

    name=input("请输入你猜的名字:")
    age=input("请输入你猜的年龄:")
    if name=="GY":
        if age=="22":
            print("猜对了")
        else:
            print("年龄错了")
    else:
        print("猜错了,真笨")

    九、While循环语句

    第一种:

    while     条件:

                循环体

                无限循环

    终止循环的方法:

    1、改变条件,使其不成立;

    2、break;

    例如:1、输出1-100之间所有的数。

    count=1
    while count<=100:
        print(count)
        count=count+1

    2、输出1-100之间所有的奇数。

    count=0
    while count < 100:
        count=count+1
        if count%2==1:
            print(count)

    3、使用while循环输入1 2 3 4 5 6 8 9 10。

    count=0
    while count <10:
        count=count+1 
        if count==7:
            continue
        print(count)

     4、用户登陆(登陆次数不能超过三次)

    time=0
    while time<3:
        username=input("请输入用户名:")
        password=input("请输入密码:")
        if username=="22" and password=="1004":
            print("登陆成功!")
            break
        else: 
            print("用户名或密码不正确,请重新输入!")    
            time=time+1

     第二种:while...else...

    当while循环被break打断,不执行else的结果;反之,则执行else.

    例如:(不被break打断,执行else语句)

    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")

    输出结果:

    Loop 1
    Loop 2
    Loop 3
    Loop 4
    Loop 5
    Loop 6
    循环正常执行完啦
    -----out of while loop ------

    反之:(被break打断,则不执行else语句)

    count = 0
    while count <= 5 :
        count += 1
        if count == 3:break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")

    输出结果:

    Loop 1
    Loop 2
    -----out of while loop ------ 

    十、格式化输出  format

    按顺序输出

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

    %% 只是单纯地输出%

    例:3%%    则输出3%

    例如:打印名片

    name=input("请输入姓名:")
    age=input("请输入年龄:")
    job=input("请输入职业:")
    hobby=input("请输入爱好:")
    mag='''-----info of %s-----
    Name:  %s
    Age:   %d
    Job:   %s
    Hobby: %s
    ------------end------------''' % (name,name,int(age),job,hobby)
    print(mag)

    十一、初始字符集

    电脑 电报的输出,存储是010101010

    最早的“密码本”ascii,涵盖了英文字母大小写,特殊字符,数字,只能表示256种可能性,太少

    后来创办了万国码unicode。    16位表示一个字符     32位表示一个字符

    unicode升级utf-8、utf-16、utf-32

    8位=1字节

    utf-8  一个字符最少用8位去表示,英文用8位(1字节),欧洲文字用16位去表示(2字节),中文用24位去表示(3字节)

    utf-16 一个字符最少用16位去表示

    gbk  中国人自己发明的,一个中文用2个字节,英文用一个字节

    1bit:一位    8位=1字节    1bytes:一个字节

    bit、bytes、Kb、Mb、Gb、Tb的关系:

    1Bit:       8bit=1Byte
    
    1Byte       1024Bytes=1Kb
    
    1Kb         1024Kb=1Mb
    
    1Mb         1024Mb=1Gb
    
    1Gb         1024Gb=1Tb

     十二、逻辑运算

    and    or     not

    优先级:()>not>and>or

    X and Y       X为真时,返回Y

    X  or   Y      X为非零(真)时,返回X

    int------>bool     非零转化为bool,则为True;0转化为bool,则为False.

    bool---->int      只有两个值,真为1,假为0.

    例如:

    1、判断下列逻辑语句的True,False.

    1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6        
    2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 

    2、求出下列逻辑语句的值。

    1)8 or 3 and 4 or 2 and 0 or 9 and 7
    2)5 and 9 or 10 and 2 or 3 and 5 or 4 or 5

    3、计算结果

    1)6 or 2 > 1
    2)0 or 5 < 4
    3)3 and 2 > 1
    4)3 > 1 and 0
    5)3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2

     十三、小知识点总结

    1、=、==、is、id分别是?

    = 赋值         ==比较值         is比较内存地址         id(内容) 打印id是多少

    2、数字、字符串      

    数字的范围:-5------256

    字符串:1)、不能含有特殊字符

                  2)、s*20是同一个字符,s*21级以后都是两个地址

    数字和字符串在以上范围内为了节省空间,存入了同一个内存地址,也就是小数据池。

    注意:其他数据类型是没有小数据池,例如:list、dict、tuple、set.

    3、编码:ascii、unicode、utf-8、gbk

    1)、各个编码之间的二进制,是不能互相识别的,会产生乱码。

    2)、文件的存储、传输,不能是unicode,(存储空间太大)(只能是utf-8、utf-16、gbk、gb2312、ascii等)

    Python3大环境

    str在内存中是用unicode编码存储的。

    bytes类型是以utf-8、gbk、gb2312、ascii存储的。

    对于英文:

                   str:表现形式:s="alex"

                           编码方式:010101010          unicode

                  bytes:表现形式:s=b"alex"

                           编码方式:000101010          utf-8、gbk、gb2312、ascii

    对于中文:             

                  str:表现形式:s="alex"

                           编码方式:0101010101          unicode

                  bytes:表现形式:s=b'xe91e91e01e21e31e32

                           编码方式:000101010          utf-8、gbk、gb2312、ascii

    encode编码   如何将str转化为bytes

    内部编码:unicode------>gbk/utf-8

    英文

    s1="alex"
    s11=s1.encode("utf-8")
    s11=s1.encode("gbk")
    print(s11)      #结果:b'alex'

    中文

    s2="中国"
    s22=s2.encode("utf-8")    #6字节
    s22=s2.encode("gbk")      #4字节
    print(s22)       #结果:b'xd6xd0xb9xfa'
  • 相关阅读:
    自制对焦测试卡
    RHEL AS4上配置snmpd遇到问题及解决办法笔记
    一个OID资料集中网站
    mrtg配置小问题
    sybase 优化总结[zt]
    [ZT] solarwinds 2002工程师版本(带注册机)
    推荐四个网盘资源搜索工具
    Hadoop 集群搭建
    分布式文件系统 HDFS 简介
    HDFS Shell 命令实操
  • 原文地址:https://www.cnblogs.com/gaoya666/p/8039806.html
Copyright © 2020-2023  润新知