查询变量内存地址
id(变量名)
深copy
import copy
n4 = copy.deepcopy(names)
n4与names完全复制。
字符串
字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,' '或'' ''或''' '''中间包含的内容称之为字符串。
字符串有序、不可变。
字符串功能
S.capitalize()→字符串首字母大写
S.casefold()→字符串全变小写
S.center(长度, 添加的元素)→将字符串居中,两边添加元素,总长度为长度
S.count()→统计数量
S.endswith()→判断什么结尾
S.expandtabs()→扩展tab键
S.find()→查找字符,查到返回索引,查不到返回-1
S.format()→格式化输出
S.index()→返回索引值
S.isalnum()→判断字符中是否包含阿拉伯数字(不能有特殊字符)
S.isalpha()→判断字符中是不是不包含数字
S.isdecimal()→判断字符串是不是整数
S.isdight()→判断字符串是不是整数
S.isidentifier()→判断字符串是不是一个可用(合法)的变量名
S.islower()→判断字符串中字母是不是都是小写
S.isnumeric()→判断字符串是不是数字
S.isprintable()→判断字符串可否被打印
S.isspace()→判断字符串是不是空格
S.istitle()→判断字符串首字母是否都大写
S.isupper()→判断字符串字母是否都大写
S.join()→
#对序列进行操作(分别使用' '与':'作为分隔符)
>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
#对字符串进行操作
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
#对元组进行操作
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido
#对字典进行操作
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
#合并目录
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'
S.join(iterable) -> str
Return a string which is the concatenation of the strings in the
iterable. The separator between elements is S.
S.ljust()→
S.rjust()→
S.lower()→将字符串都变成小写
S.upper()→将字符串都变成大写
S.lstrip()→去掉字符串左边的空格、换行符、TAB
S.strip()→去掉字符串里的空格、换行符、TAB
S.rstrip()→去掉字符串左边的空格、换行符、TAB
S.maketrans()→
S.partition()→
S.replace()→替换
S.rfind()→从右开始寻找,找不到返回-1
S.rindex→从右寻找,找不到报错
S.rpartition()→
S.rsplit()→
S.split()→将字符串分成列表
S.splitlines()→将字符串按行分成列表
S.startswith()→判断字符串以什么开始
S.endswith()→判断字符串以什么结束
S.swapcase()→将字符串全部大写
S.zfill()→
元组
元组的定义与特征
定义:与列表类似,只不过[]改成()
特征:
1.可存放多个值
2.不可变,元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变
3.按照从左至右的顺序定义元组元素,下标从0开始顺序访问,有序
使用场景:
1.显示的告知别人,此处数据不可更改
2.数据库连接配置信息等
hash函数
刚刚我们已经说过,hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定。
可以想见如果“王老五”变成“王老六”了,计算的结果就会发生改变。
因此我们要说,坏消息是可变的数据类型是不可以被hash的,好消息是如果一个值可以hash那么说明这是一个不可变得数据类型。
可变类型 | 不可变类型 |
---|---|
列表 | 数字 |
字符串 | |
元组 |