python(1)基本类型(int/str)

id()	#查看内存地址
改变变量的值,内存地址不变则是可变类型,内存地址变化则是不可变类型
可变:列表
不可变:字符串、元组 、数字

访问顺序:
1、直接访问:数字
2、顺序访问:字符串、列表、元组
3、映射:字典

存放元素个数:
容器类型:列表、元组、字典
原子类型:数字、字符串

python
int
1、将字符串转换为数字
	s = "123"
	printtype(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 = 100
1、首字母大写
	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 18

8、判断字符串中是否只存在字母和数字,是返回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    jdsk

10、大小写转换
	s = s.swapcase()

11、标识符组成:字母,数字,下划线,判断是否符合标识符组成规则,分会TrueFalse
	b = s.isidentifier())
	
12、判断是否存在输出时,不可显示的字符,例如:\t  \n
	s = "sahdhj\thjshfh\n"
	b = s.isprintable()
	print(b)	#False

13、判断字符串是否全部为空格
	s = "    "
	b = s.isspace()
	print(b)	#True

14、转换为标题形式
	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_d

16、默认去除字符串的左右空格、\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返回字节数

##########################################################
21for循环
	for index in len(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 ffff
24range在python3中只有使用时才创建,python2中直接创建(浪费内存)
v = range(100)	#range(0, 100)

v = range(0 , 100, 2)	#可指定步长
25、重点
##########7个基本魔法#####################
jion
split
find
strip
upper
lower
replace
###########4个灰魔法###################
索引
切片
len
for循环
range
###########1个深灰魔法###############
字符串一旦创建,就不可修改
一旦修改或者拼接,都会重新生成新的字符串
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值