zoukankan      html  css  js  c++  java
  • 变量、编码知识、数据类型、字符串格式化

    1、变量

    1.1 变量的定义:变化的量,指事物的状态,定义变量就是将一个值赋值给一个变量名

    1.2 变量的命名规则:必须用字母、数字、下划线组成、不能以数字开头、不能使用关键字、命名最好由意义

    1.3 命名方式:驼峰体(YourName)、纯小写加下划线(name_of_you)

    *python中约定俗成将字母全部大写的名字成为常量,一般程序中不更改常量

    1.4 变量的交换

    a = 10
    b = 20
    a,b = b,a
    print(a,b) # 20 10

    1.5 变量与内存地址:在内存中会划出两部分空间,一部分存变量名,一部分存变量的值,它们之间通过内存地址联系起来,也可以看成一种映射关系,当一个变量名没有任何变量值直接或间接的关联时,python解释器的垃圾回收机制会把这个变量名回收,从而将内存空间释放出来。

     

    2、编码知识

    2.1 ASCII码:是最早的编码表,里面只包含英文字母、数字,不能满足后来的使用需求。

    2.2 Unicode码:是ASCII的改良版,可以识别多个国家的语言,不过占据内存太大,有内存写入硬盘时花费时间更长

    2.3 UTF-8码:英文字符占1B,中文字符一般占3B,某些生僻字可能会占用4B,是Unicode的改良版,既能识别多个国家的语言,也能节约内存空间(所以现在一般内存里面用unicode存储,硬盘里面用UTF-8存储

    2.4 GBK码:是中国的编码表,只有中文、英文和数字的对应关系,一般在有外语的时候不使用,否则容易造成乱码。

     

    *用type()函数可以获取数据的类型,用id()可以获取数据的内存地址

    3、数据类型

    数字类型:包含整型(int)、浮点型(float)

    整型int:正整数、负整数、0

    二进制、八进制、十六进制都有整型的数据类型

    浮点型(float):带小数点的数字

    布尔型:由两个数值组成,FlaseTrue,通常用于判断(空值和空列表为Flase)

    复数:由实数加虚数组成,复数的前半部分为实数,后半部分为虚数

     

    字符串(str):用引号引起来的就是字符串,可以用单引号、双引号、三引号

    在字符串中,三个单引号和双引号可以用来给段落换行

    元字符串r:在字符串前加r,代表不转义转移字符,按照原来的数据显示出来。

    转义字符:/n(换行符)、/r/n(换行符)、/t(制表符、空格)、/r(将/r后面的字符直接拉到当前行行首的位置,之前的字符都被覆盖)

     

    4、字符串格式化:

    4.1 用%来格式化

    此种顺序传值方法要求变量严格按照位置来传,不能混淆

    print("%s 经常吹牛,%s经常不吃饭" %("张三",李四)

    用字典来传值,可以不必按照变量的位置来以此传值

    print("%(name)s经常上网,年龄只有%s(age)"%{"age":"12","name":"张三"})

     

    4.2 用.format来格式化,这个是字符串的内置方法,在性能和灵活方面都比较好,比较推荐

    根据位置依次传值,用{}来占位

    s1 = "我是{},我会{}".format("超人","")
    print(s1) #我是超人,我会飞

    按照索引来传值,不再局限于位置顺序

    s1 = "先{0},再{1}".format("炒菜","煮饭")
    print(s1) # 先炒菜,再煮饭

    用关键字来传参

    s1 = ("讨厌{hate},但是可以{like},喜乐参半".format(hate="上班",like="赚钱"))
    print(s1) # 讨厌上班,但是可以赚钱,喜乐参半

    用容器类型来传参(用列表或者元祖)

    s1 = "{0[0]}和{0[2]}一起去玩,{0[0]}喜欢玩{1[1]},{0[0]}喜欢玩{1[2]}".format(["张三","李四","王五"],["下棋","看书","打游戏"])
    print(s1) # 张三和王五一起去玩,张三喜欢玩看书,张三喜欢玩打游戏
    
    s2 = "{0[0]}和{0[2]}一起去玩,{0[0]}喜欢玩{1[1]},{0[0]}喜欢玩{1[2]}".format(("张三","李四","王五"),["下棋","看书","打游戏"])
    print(s2) # 张三和王五一起去玩,张三喜欢玩看书,张三喜欢玩打游戏
    # 方法二:
    s3 = "{name[0]}和{name[2]}一起去玩,{name[0]}喜欢玩{hobby[1]},{name[0]}喜欢玩{hobby[2]}".format(name = ("张三","李四","王五"),hobby = ["下棋","看书","打游戏"])
    print(s3) # 张三和王五一起去玩,张三喜欢玩看书,张三喜欢玩打游戏
    # 方法三:
    s4 = "{name[name1]}和{name[name2]}一起去玩,{name[name1]}喜欢玩{hobby[hobby1]},{name[name1]}喜欢玩{hobby[hobby2]}".format(name = {"name1":"张三","name2":"王五"},hobby = {"hobby1":"看书","hobby2":"打游戏"})
    print(s4) # 张三和王五一起去玩,张三喜欢玩看书,张三喜欢玩打游戏

    4.3 format填充符号的使用

    # 填充符号的使用:
    str1 = "{time:*^10}在池塘里{things:~>15},这是一件多么{mood:@<20}的事".format(time="summer",things="swimming",mood="wonderful")
    print(str1) # **summer**在池塘里~~~~~~~swimming,这是一件多么wonderful@@@@@@@@@@@的事
    
    # 整型占位符   :d
    str2 = "我有{:d}个苹果".format(7)
    print(str2) # 我有7个苹果
    str3 = "我有{:2d}个苹果".format(7)
    print(str3) # 我有 7个苹果  占两位,默认居右
    str4 = "我有{:<2d}个苹果".format(7)
    print(str4) # 我有7 个苹果  占两位,居左显示
    
    # 浮点型占位符   :f   使用四舍五入,默认保留六位小数
    str5 = "我有{:f}元".format(9.9999999)
    print(str5) # 我有10.000000元
    str6 = "我有{:.2f}元".format(9.9999999)
    print(str6) # 我有10.00元
    
    # 字符串占位符  :s
    str7 = "我是{:s}字符串".format("一个")
    print(str7) # 我是一个字符串
    str8 = "{:s}".format(str7)
    print(str8) # 我是一个字符串   可以直接引用别的字符串
    
    # 金钱占位符  :,
    str9 = "金钱占位符传数字{:,}".format(68932393)
    print(str9) # 金钱占位符传数字68,932,393

    5、列表list:用[]表示,可以放各种数据,字符串、整型、浮点型、字典、列表、元组都能放

    list1 = ["字符串",("我是","元祖"),{"我是","集合"},{"我是":"字典"},123]
    list1[1] = "元祖"
    print(list1) # ['字符串', '元祖', {'我是', '集合'}, {'我是': '字典'}, 123]

    列表可以按照索引来取值,从左往右,索引从0开始递增,从右往左,索引从-1开始以此减少

    *使用len()函数可以获取列表的长度

     

    6、元组tuple:用()表示,不可更改的数据类型

    t=(22,33,44)

    *若元组中包含有容器类型的数据类型,则容器类的数据类型可以更改

     

  • 相关阅读:
    The analysis of China's holding the Olympic Games
    ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息(图)
    ASP.NET 无提示关闭窗口
    VC 使用CryptoAPI计算Hash值:MD5, SHA
    SQL Server 2005 中设置某个用户对某一个数据库有完全控制的权限
    C# 计算文件的MD5值
    VC 获取物理网卡的MAC地址
    哪些免费邮箱不在邮件内容里插广告?
    忆同学
    使用正则表达式获取连接字符串某项的值
  • 原文地址:https://www.cnblogs.com/fdsimin/p/12801119.html
Copyright © 2011-2022 走看看