id()#查看内存地址
改变变量的值,内存地址不变则是可变类型,内存地址变化则是不可变类型
可变:列表
不可变:字符串、元组 、数字
访问顺序:
1、直接访问:数字
2、顺序访问:字符串、列表、元组
3、映射:字典
存放元素个数:
容器类型:列表、元组、字典
原子类型:数字、字符串
python
int1、将字符串转换为数字
s ="123"print(type(s),s)
n =int(s)print(type(n),n)2、将字符串以base进制转换为十进制
s ="f"
n =int(s, base =16)print(n)3、当前数字用二进制要用几位表示
num =100
b = num.bit_length()print(b)
字符串str
s ="helLO"
s2 ="el"
num =1001、首字母大写
s = s.capitalize()2、字母转换为大小写
s = s.casefold()#不常见特殊字符也可以转换为小写
s = s.lower()#英文字符的转换为小写
s = s.upper()#转换为大写
s = s.swapcase()#大小写相互转换#判断是否都是小写或大写,汉字特殊符号不影响判断
b = s.islower()
b = s.isupper()3、设置宽度为num,空余位置默认空格填充,可随意填充一个字符
s = s.center(num, "*")#内容居中
s = s.ljust(num,"#")#内容左对齐
s = s.rjust(num,"@")#内容右对齐
s = s.zfill(num)#默认在前面用0填充4、在字符串s中寻找的个数,可指定范围
num = s.count(s2,start,end)5、验证s是否以s2开始或者结尾
b = s.startwith(s2)
b = s.endwith(s2)6、获取s2在s中的索引位置
pos = s.find(s2,start,end)#若不存在返回-1,可指定范围
pos = s.index(s2)#若不存在,直接报错7、格式化,将一个字符串中的占位符替换为指定的值
string ="I am {name}, age {a}"print(string)
str_format = string.format(name ="QHH", a =18)#根据占位符中的名字作对应关系print(str_format)#I am QHH, age 18
string2 ="I am {0}, age{1}"
str_format = string2.format("QHH",18)#按顺序填充占位符 print(str_format)#I am QHH, age 18
string3 ="I am {name}, age {a}"
str_format = string3.format_map({"name":"QHH","a":18}#字典键值对填充print(str_format)#I am QHH, age 188、判断字符串中是否只存在字母和数字,是返回True,否返回False
b = s.isalnum()#包含数或字母或汉字
b = s.isalpha()#只包含字母或汉字
判断字符串是否为数字(判断范围有区别)
b = s.isdecimal()#十进制的数字
b = s.isdigit()#支持以上,且支持特殊符号的数字,例如:②
b = s.isnumeric()#支持以上,且支持中文数字,例如:二9、根据num依次计数,当遇到\t时,将未计满的个数填充为为空格,接着重新计数
s ="dhjdjjs\tjdsjdjkd\tjdsk"
s = s.expandtabs(6)print(s)#dhjdjjs jdsjdjkd jdsk10、大小写转换
s = s.swapcase()11、标识符组成:字母,数字,下划线,判断是否符合标识符组成规则,分会True 或 False
b = s.isidentifier())12、判断是否存在输出时,不可显示的字符,例如:\t \n
s ="sahdhj\thjshfh\n"
b = s.isprintable()print(b)#False13、判断字符串是否全部为空格
s =" "
b = s.isspace()print(b)#True14、转换为标题形式
s ="Process finished with exit code"
s = s.title()print(s)#Process Finished With Exit Code#判断字符串是否为标题
b = s.istitle()###########################################################################################15、将字符串的每一个元素按照指定的分隔符进行拼接
s ="Process finished"
separator ="_"print(separator.join(s))#P_r_o_c_e_s_s_ _f_i_n_i_s_h_e_d16、默认去除字符串的左右空格、\t、\n
也可以在括号里指定去除参数
s =" hhhh "
l = s.lstrip()#去除左空格
r = s.rstrip()#去除右空格
s = s.strip("h")#去除两边的hh##################
可以去去除字符串s中,从两边开始一次匹配到与字符串x子串相同的字母,直至两边的单个字母不在字符串x中
###################
s ="Process finished"
x ="isinocedPr"print(s.strip(x))# finish###################字符串s不能以字符串x中任意字符开头或者结尾###########################17、创建对应关系m,按照此对应关系m,替换字符串s中的对应字符
s ="djdkljaadsjhbcvagsgsdiuertfou"
m =str.maketrans("aeiou","12345")
new_s = s.translate(m)print(new_s)#djdklj11dsjhbcv1gsgsd352rtf45#############################################################18、分割
#按照匹配到的第一个分割字符(串)进行分割,只能分割成三份:分割字符左边,分割字符(串),分割字符右边
s ="hfjfhjs ff f sf s gg s ffff"
p = s.partition("s")#从左匹配print(p)#('hfjfhj', 's', ' ff f sf s gg s ffff')
rp = s.rpartition("s")#从右匹配print(rp)#('hfjfhjs ff f sf s gg ', 's', ' ffff')#默认按照所有匹配到的字符(串),进行分割,也可指定匹配分割的个数,分隔符将不存在
s ="hfjfhjs ff f sf s gg s ffff"
p = s.split("s")#print(p)#['hfjfhj', ' ff f ', 'f s gg s ffff']
p = s.rsplit("s")#['hfjfhj', ' ff f ', 'f s gg s ffff']
p = s.split("s",2)#从左匹配print(p)#['hfjfhj', ' ff f ', 'f s gg s ffff']
p = s.rsplit("s",2)#从右匹配print(p)#['hfjfhjs ff f sf ', ' gg ', ' ffff']#按照换行符进行分割,默认False
s ="hfjfhjs \nff\n f sf s\n gg s ffff"
p = s.splitlines()
p = s.splitlines(False)#不包含换行符print(p)#['hfjfhjs ', 'ff', ' f sf s', ' gg s ffff']
p = s.splitlines(True)#包含换行符print(p)#['hfjfhjs \n', 'ff\n', ' f sf s\n', ' gg s ffff']19、索引,下标,获取字符串中的某一个字符
s[0]#切片
s[1:8]
s[0:-1]20、获取字符串长度
length =len(s)#python返回字符个数,python2返回字节数##########################################################21、for循环
for index inlen(s):print(s[index])22、字符串一旦创建就不可修改,进行拼接修改操作时,内存会生成新的字符串
23、替换
#默认替换所有,可以指定需要替换的个数
s ="hfjfhjsfff sf s gg s ffff"
r = s.replace("f","Q",2)print(r)#hQjQhjsfff sf s gg s ffff24、range在python3中只有使用时才创建,python2中直接创建(浪费内存)
v =range(100)#range(0, 100)
v =range(0,100,2)#可指定步长25、重点
##########7个基本魔法#####################
jion
split
find
strip
upper
lower
replace
###########4个灰魔法###################
索引
切片
lenfor循环
range###########1个深灰魔法###############
字符串一旦创建,就不可修改
一旦修改或者拼接,都会重新生成新的字符串
python数字类型int1、将字符串转换为数字 s = "123" print(type(s),s) n = int(s) print(type(n),n)2、将字符串以base进制转换为十进制 s = "f" n = int(s, base = 16) print(n)3、当前数字用二进制要用几位表示 num = 100 b = num.bit_length() print(b)字符串strs = "helLO"s2 = "el"num = 1001、首字母大