美文网首页
python数据类型

python数据类型

作者: 枫頔 | 来源:发表于2019-07-22 14:13 被阅读0次

    1 变量

    • 对象有类型,变量无类型,变量只是对象的一个标签。
    • 每个变量中存储一个值----与变量相关的信息。
    • 程序中可随时修改变量的值,python始终记录最新值。
    1.1 变量的命名和使用
    • 变量名只包含字母、数字、下划线,可以字母或下划线开头,不能以数字开头。
    • 变量名不能包含空格,可使用下划线分割其中的单词。
    • python关键字和函数名不能用作变量名。
    • 变量名应简短且具有描述性。
    1.2 避免命名错误

    程序存在错误,解释器会提供一个traceback,它是一个记录,指出程序可能在哪个地方出错。

    名称错误通常两种情况:使用前未赋值,输入变量名时拼写不正确。

    2 python数据类型

    python中标准数据类型6种:Number、String、List、Tuple、Dict、Set

    按照可变不可变分类:不可变类型:数字、字符串、元组 可变类型:列表、字典、集合

    序列类型:字符串、列表、元组

    序列

    img
    2.1 字符串 str()(不可变)
    • 表示:单引号、双引号、反斜杠(转义)、原始字符串(r/R)
    • 相关函数:repr() input() chr() ord() len()
    • 操作:索引、分片、加、乘、成员检查(in/not in)、长度、最大值、最小值
    • 格式化输出:
    img img
    • 占位符:print("Hello, %s.My name is %s." %("fengdi", "yuxi")) %s为占位
    • .format():{index}为占位符
    print("hello {}, my name is {}".format("fengdi", "yuxi"))
    print("hello {0}, my name is {1}".format("fengdi", "yuxi"))
    print("hello {name1}, my name is {name2}".format(name1="fengdi", name2="yuxi"))
    
    • 接受输入:

      • input() :从标准输入读取一个字符串
      • eval(input()) :原始输入为何类型,结果即为何类型(接受原始输入)
    • 常用方法:

      • split():返回字符串列表
      • strip():去掉两端空格 (.lstrip() .rstrip())
      • upper():全部大写 (.lower() .title() .isupper() .islower())
      • join():.split()的反方法。S.join(a) S为分隔符
      • find():返回子串的最小索引,未找到返回-1
      • index():同上,未找到抛出异常
      • replace(old, new):替换字符串
      • count():统计子串出现的次数
    2.2 数字 number(不可变)
    • 分类:int float complex Bool
    • 运算:+ - * / // % **

    注:对于除法而言,只要有一个为浮点数,结果为浮点数。

    • 模块:math() cmath()
    • 函数:id() type() dir() help() pow() sqrt() abs() round() divmod() floor()

    id():对象的内存地址 help():显示对象的帮助信息 pow():乘方运算

    type():对象的类型 sqrt():math模块提供,开方运算 abs():绝对值

    dir():对象的属性 floor():返回下舍整数

    2.3 列表 list()(可变)
    • 表示:[] 里面可为任意类型 list()函数:list(iterable)

    • 操作:索引、分片、加、乘、成员检查、长度、最大值、最小值、遍历

      改变元素:重新赋值、 删除元素:del语句

    • 常用方法:

      • append():末尾添加元素
      • extend():扩展列表,通过iterable
      • insert():根据位置插入元素
      • count():统计元素出现次数
      • index():返回某元素的第一个索引位置
      • pop():删除指定位置元素,默认删除末尾一个,有返回值即删除的元素
      • remove():移除某个元素的第一个匹配值
      • clear():清空列表元素
      • copy():复制列表元素,生成一个新对象,内存地址不同即并不指向同一个对象。也可使用切片的方法,a[:],但不能直接赋值,直接赋值为同一对象(引用)
      • sort():排序,原地修改,默认从小到大,设置reverse=True相反
      • sorted():排序,修改副本,自身不变
      • reverse():反转列表
      • reversed():反转
    • 作为堆栈使用:后进先出---> append()和pop()方法,作为队列使用,先进先出

    • range():该函数常用来生成数字列表,如list(range(1, 10, 2))

    • 列表解析:从序列中创建列表,表达式后可跟多个if或for 子句来,来满足情况

    mylist = [x * x for x in range(10)]
    
    mylist = [x * x for x in range(10) if  _____  ]   # 后跟if用来限制条件
    
    mylist = [x * y for x in range(10) for y in range(10)]    # 双重for语句
    
    2.4 元组 tuple() 不可变 有序
    • 表示:圆括号()表示,可为任意类型(只有一个元素需要加逗号)
    • 操作:索引、分片、加、乘、长度、成员检查、最大值、最小值、遍历
    • 常用方法:count()、index()
    2.5 字典 dict() 无序性
    • 表示:花括号{}表示,空字典:a={} 键值对形式
    • 键不可重复且为不可变类型(数字 字符串 元组),值可重复(可为python任意对象)
    dict1 = {"name":"fengdi", "age":23, "language":"python" }
    
    a = dict([("name", "fengdi"), ("age", 25)])
    
    b = dict(name="fengdi", age=23) # 关键字参数构造
    
    • 基本操作:

      • len():字典长度(键值对数量)
      • d[key]:获取某个键对应的值
      • d[key]=value:重新赋值,不存在则添加该键值对
      • del d[key]:删除某键值对
      • key in d:成员检查
    • 常用方法:

      • copy:内存中产生一个新对象,地址不同(浅拷贝)整体来说
      • deepcopy:import copy copy.deepcopy()都不为同一对象
      • clear:清空字典元素
      • setdefault:查找某键对应的值,键不存在可设定默认值,未设定,默认值为None,并添加到字典
      • get:同上,不存在则不添加到字
      • items:返回视图,键值对组成的列表形式,可用来遍历
      • keys:同上,键组成的列表形式
      • values:同上,值组成的列表形式
      • pop:删除指定的键对应的值并返回,若不存在,返回指定值,否则抛出错误
      • pipitem:随机删除键值对,并返回tuple,字典为空,抛出错误
      • update:从另一个字典或可迭代对象更新字典
    2.6 集合 set() 元素不可重复,无序
    • 表示:花括号{}表示, set(variable):set()函数 (空集合:set())

    • 可变,即unhashable,集合里面的元素应该可哈希,即不可变类型

    • 常用方法:

      • add:添加元素
      • pop:随机删除元素并返回,集合为空抛出异常
      • update:利用其它集合或可迭代对象修改集合
      • remove:删除指定元素,元素不存在,抛出异常
      • discard:删除指定元素,元素不存在,不做任何事
      • clear:清空集合元素
    • 不可变集合:a=frozenset() 元素不可修改

    • 集合运算:

      • 元素与集合的关系:in not in
      • 集合与集合:子集:<或a.issubset(b)
      • 超集:>或a.issuperset(b)
      • 并集:|或a.union(b)
      • 交集:&或a.intersection(b)
      • 差集:-或a.difference(b)

    相关文章

      网友评论

          本文标题:python数据类型

          本文链接:https://www.haomeiwen.com/subject/guxwlctx.html