zoukankan      html  css  js  c++  java
  • python 学习笔记(1、数据类型)

    1: python中的每个对象都可以分为不可变性和可变性。在核心类型中,数字、字符串、元组是不可变的;列表、字典可以自由地改变。

    2:  以r开口的字符串可以关闭反斜线转义机制,以u开头的字符串支持unicode字符串形式。ord()是将字符转换为ASCII码(以10进制显示结果),chr()执行相反的操作。

    3:  元组的不可变性经常用于提供一种完整性约束,例如传递一个对象的集合时,集合内的对象是不能改变的。

    4:  python的长整型支持无穷无尽的大小,只要内存空间允许,一般在数字后面加L。

    5:  在python中,变量名没有类型,类型是属于对象。只是把变量名引用了对象。

    6:    在python中,变量总是一个指向对象的指针,而不是可改变的内存区域的标签:给一变量赋一个新的值,并不是替换原始的对象,而是让这个变量去引用完全不同的一个对象。实际的效果就是对一个变量赋值,仅仅会影响那个被赋值的变量。例:a=3  b=a  a=a+2  并没有改变b

    7:  “==”操作符:测试两个被引用的对象是否有相同的值,往往用作相等的检查。“is”操作符:是在检查对象的同一性。如果两个变量名精确地指向同一个对象,它会返回True,这是一种更严格形式的相等测试。     要注意小的整数和小的字符串,它们会被python缓存到一个系统表中并复用。因此此时用is操作符会返回True。

    8: 在python中,零字符('\0')不会像C语言那样去中断一个字符串。相反,python在内存中保持了整个字符串的长度和文本。事实上,python没有字符会中断一个字符串。

    9:  方法是类型特定的,表达式是通用的。方法如find()只能用于字符串,in、切片可以用于序列。

    10: 列表是可变的,支持实地改变列表对象的操作。即,若果在远处修改一个列表对象时,可能同时会影响一个以上指向它的引用。 索引和分片的赋值都是原地修改,他们对列表进行直接修改,而不是生成一个新的列表作为结果。L.append()是在原列表上修改,L+[1,2]是生成一个新的列表。

    11: 字典又被称为关联数组或哈希表。字典内的项是无序的。可变长、任意层嵌套。在原处对字典进行修改、扩展以及缩短都不需要生成新的字典。

    12:字典序列运算无效,因其是映射机制不是序列,元素之间没有顺序的概念。给新索引赋值会添加项。键可以是任何不可变对象。

    13: dict.fromkeys(['a','b','c'],0)

    14:   元组不能在原处修改,不支持任何方法调用;但支持字符串和列表的一般序列操作;通常可以将元组转换为列表去使用列表的方法。元组里嵌套的列表等可变类型是可以在原处修改的。

    15: eval()可以把字符串转换成对象,但要防止删除计算机上所有文件的表达式。flush()能够强制性地将缓存输出写入磁盘(文件总会默认进行缓存)。

    16: pickle模块能够让我们直接在文件中存储几乎任何python对象的高级工具,不需要把字符串转来转去。pickle模块执行所谓的对象序列化,也就是对象和字节字符串之间的相互转换。

    17: struct模块能够构造并解析打包的二进制数据,即能够把文件中的字符串解读为二进制数据。

  • 相关阅读:
    UOJ.26.[IOI2014]Game(交互 思路)
    Good Bye 2016 F.New Year and Finding Roots(交互)
    Codeforces.835E.The penguin's game(交互 按位统计 二分)
    Codeforces.744B.Hongcow's Game(交互 按位统计)
    Codeforces.862D.Mahmoud and Ehab and the binary string(交互 二分)
    正睿OI 提高 Day1T3 ZYB玩字符串(DP)
    划分vlan
    2三层交换机实现vlan间的路由
    交换机基础-交换机远程telnet
    自动化运维环境的搭建问题处理
  • 原文地址:https://www.cnblogs.com/TianMG/p/2707535.html
Copyright © 2011-2022 走看看