python核心数据类型


本文采用版本pyton3.5

数据类型

数字: int,long,float,complex,bool
字符: str,unicode
列表: list
字典: dict
元组: tuple
文件: file
其他类型: 集合(set),frozenset,类类型,None

类型转换

str(),repr()或format(): 将非字符类型数据转换为字符
int(): 转为整数
float(): 转为浮点
list(s): 将字符串转为列表
tuple(s): 将字符串转为元组
set(s): 将字符串转为集合
frozenset(s): 将字符串转为不可变集合
dict(d): 创建字典,其中d必须是(ke, value)的元组序列。[(‘a’,1),(‘b’,2),(‘c’,3)] ——> {‘a’:1, ‘c’:3, ‘b’:2}
chr(x): 将整数转为字符
ord(x): 将 字符转为整数值
hex(x): 将整数转为16进制字符
bin(x): 将整数转为2进制字符
oct(x): 将整数转为8进制字符

序列类型

指的是可以进行迭代,可以用下标进行操作的数据类型

字符串

把文本放入单引号,双引号或三引号中

s1 = '这是字符串'
s2 = "这也是字符串"
s3 = '''这也是字符串'''
s4 = """这也是字符串"""
print(s1, s2, s3, s4)
# 这是字符串 这也是字符串 这也是字符串 这也是字符串

如果要使用unicode编码,则在字符之前使用字符u进行标识,如u"tony"
文档字符: 模块,类或函数的第一条语句是一个字符的话,该字符就成为文档字符串,可以使用__doc__属性引用

class Dog(object):
    """狗对象"""
    flag = 1

    def __init__(self, name="yuk", age="25", hobby="米饭"):
        self.name = name
        self.age = age
        self.hobby = hobby
print(Dog.__doc__)
# 狗对象

def printName(name):
    """这是打印方法"""
    print(name)

print(printName.__doc__)
# 这是打印方法

列表

[],有序可变,支持异构,任意嵌套;支持在原处修改:添加,删除等
L1+L2: 合并两个列表,不修改原列表

>>> L1=[1,2,3]
>>> L2=[4,5,6]
>>> L1+L2
[1, 2, 3, 4, 5, 6]
>>> L1
[1, 2, 3]

L1*N: 把列表重复N次,不修改原列表

>>> L1*2
[1, 2, 3, 1, 2, 3]
>>> L1
[1, 2, 3]

in/not in: 成员关系判断,用法 item in[not in] container

>>> 1 in L1
True
>>> 0 in L1
False

列表复制:
浅复制:L2=L1,指向同一个地址

>>> L2=L1
>>> L2
[1, 2, 3]
>>> id(L1)
1511448597512
>>> id(L2)
1511448597512

深复制:L2=L1[:];import copy L2=copy.deepcopy(L1)

>>> import copy
>>> L2=copy.deepcopy(L1)
>>> id(L1)
1511448597512
>>> id(L2)
1511480648072

元组

(),有序不可变,支持异构,任意嵌套
定义元组: 可省略小括号(这一特性可以交换两个参数的值)

>>> t=1,2
>>> t
(1, 2)

元组并非完全不可变: 如果元组内嵌套了可变类型的元素,比如(‘a’,‘b’,[4,5]),那么对该可变元素的修改则直接修改了原元组

>>> L1=[4,5]
>>> t=(1,2,L1)
>>> t
(1, 2, [4, 5])
>>> L1.append(6)
>>> t
(1, 2, [4, 5, 6])

序列运算符

索引运算: [i]
切片运算: [i:j]
扩展切片运算: [i:j:stride],都可为负数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值