python3基础2--变量-字符编码-缩进-注释-用户输入-模块初识

一、python3 变量

1.1  声明变量
name = "python"

上述代码声明了一个变量,变量名为: name,变量name的值为:"python" 

1.2 变量定义的规则:

 变量名只能是 字母、数字或下划线的任意组合

 变量名的第一个字符不能是数字
 以下关键字不能声明为变量名
['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']

    小结:定义的变量名必须是直观易懂有意义的,不建议写中文名。

    1.3 变量的赋值

    name = "python3"
    print(name)
    names = name
    print(names)


    二、python3 字符编码

    python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

    ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。



    2.1 字符编码之中文编码-GB2312-GBK1.0-GB18030

    为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。
      GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。GB2312 支持的汉字太少。

            GBK1.0(1995年)的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。

            GB18030(2000年)的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

        小结:由于ASCII在设计之初只考虑了,26个英文字母和特殊字符,导致中文以及其他一些国家的文字无法存储,就产生了中文编码。

      中文编码发展史:GB2312->GBK1.0->GB2312

    2.2 字符编码之 Unicode编码

    ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode(万国码)

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。

    Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。
    PS:此处说的的是最少2个字节,根据实际应用可能更多。

         小结:Unicode的产生是由于各国都有自己的编码,并且各国编码不兼容的问题,以及传统ASCII的局限性。

    2.3 字符编码之 UTF-8编码
    由于Unicode 编码在存储字节方面一般是占2个字节的,而英文只需要占一个字节就足够了,这样就产生了一个问题,如果都是英文存储用Unicode编码的话,会浪费很多磁盘空间,所以在Unicode编码之上又优化产生了UTF-8编码。
        UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存。
     
        所以,在python2中python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

    报错:ascii码无法表示中文


    #!/usr/bin/env python

    print "你好,世界"

    改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
      
    print "你好,世界"

    上述只适合于python2 版本,python3版本由于默认编码就是Unicode所以不会有中文乱码的情况。


    三、python3 缩进-注释

    3.1 python3 缩进
    python2和python3 一个让人诟病的地方是格式的缩进问题。  
      为什么格式需要缩进处理?
    第一,之所以缩进是因为层级之间有因果循环关系。
    第二,之所以缩进是因为语法方面的开始结束代码段。

    3.2 python3 注释

     当行注视:# 被注释内容
      多行注释:""" 被注释内容 """

    四、python3 用户输入-模块初识

    4.1 用户输入
    4.1.1  明文密码输入。
    username = input("please input usernane:")
    password = input("please input password")

    print(username,password)

    4.1.2  密码不显示输入
    import getpass
    username = input("please input usernane:")
    pwd  =   getpass.getpass( "请输入密码:" )

    print(username,pwd)

    4.2 模块初识
    4.2.1  基础模块之:sys
    import sys
    sys.path 方法
    sys.argv 方法

    print(sys.path)  ###打印出ENV全局环境变量

    print (sys.argv) ### 传递参数

    4.2.2  基础模块之:os
    print(os.system("df -h") ##查看操作系统磁盘使用情况

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值