Python Number和String内置方法

1. 基本数据类型

不可变数据:Number(数字)、String(字符串)、Tuple(元组);
可变数据:  List(列表)、Dictionary(字典)、Set(集合)。

2. Number(数字)

强制转换

int()

int() 强制转换为整型:

		x = int(1)   # x 输出结果为 1
		y = int(2.8) # y 输出结果为 2
		z = int("3") # z 输出结果为 3
		
注意点运行以下代码程序会报错:

		x = int('a')
		x = int('123a')  
		
'因为 int() 只能转换纯数字的字符串'

float()

float() 强制转换为浮点型:

		x = float(1)     # x 输出结果为 1.0
		y = float(2.8)   # y 输出结果为 2.8
		z = float("3")   # z 输出结果为 3.0
		w = float("4.2") # w 输出结果为 4.2int() 类似,不能把字母组成的字符串转换成浮点型。

bin()

bin() 的作用是把整数转化成二进制'字符串'

# 100 = 0b1100100 = 0x64 = 0o144

		print(bin(100))
		print(bin(0b1100100))
		print(bin(0x64))
		print(bin(0o144))

以上代码输出结果都相同,为 0b1100100 。
也就是说,不管什么进制都可以转换为而进制。 0b 代表着二进制符号

hex()

hex() 的作用是将一个整数转换为一个十六进制'字符串'

		print(hex(100))
		print(hex(0b1100100))
		print(hex(0x64))
		print(hex(0o144))

以上代码运行结果是 0x64 。    前面的 0x 代表着十六进制的符号。

oct(x)

oct() 的作用是将一个整数转换为一个八进制'字符串'

		print(oct(100))
		print(oct(0b1100100))
		print(oct(0x64))
		print(oct(0o144))

以上代码执行结果是 0o144 。  前面的 0o 代表八进制符号。

3. String(字符串)

强制转换

str()

str() 可以把'任意'数据类型转换成字符型

		print(str(1))
		print(str(2.2))
		print(str([1, '2']))
		print(str((1, '2')))
		print(str({1, '2'}))
		print(str({'a': 1, 'b': 'A'}))

格式化输出

在这里详细介绍以下格式化输出。
格式化输出的方式主要有俩类:占位符方法format方法

1. 占位符

占位符在前面有提到过,就是通过一个特殊的符号先代替需要修改的内容,主要有
%s , %d 这俩用的较多

%s 它可以替代任何数据类型的内容,而 %d 只能替代数字

代码示例:
		x = '我的名字是%s,今年%d岁了。'
		print(x %('XWenXiang', 14))
打印结果:
		我的名字是XWenXiang,今年14岁了。

注意点:
		占位符的数量必须和后面替换的内容数量一样
		%d 表示其他类型的内容时,程序会报错。
2. format方法  (推荐使用)

format 方法可以更好用于替代内容,主要有 4 种使用方法。

(1)直接使用,类似于占位符。只不过用 '{}'来占位。
'注意,{}的个数也必须和后面内容一样'

	代码示例:
			x = '我的名字是{},今年{}岁了。'
			print(x .format('XWenXiang', 14))

(2)通过索引来取值代替,和直接使用相比它可以'多次'调用需要填入的内容
		
	代码示例:
			x = '我的名字是{0}{0}{1},今年{1}{0}岁了。'
			print(x .format('XWenXiang', 14))

(3)通过给需要填入的内容一个变量名,通过变量名来替换。
   这种方法也可以多次调用值,而且能更好的知道填入的是什么。
   
	代码示例:
			x = '我的名字是{name}{age}{name},今年{age}岁了。'
			print(x.format(name='XWenXiang', age=14))

(4)使用已经出现的变量名,也就是上面代码'已经定义过的变量名'
   只要在字符串前面加一个 f ,然后像第三种一样直接使用变量名来替换
	代码示例:
			name='XWenXiang'
			age=14
			x = f'我的名字是{name}{age}{name},今年{age}岁了。'
			print(x)


改变大小写:

title()方法
title() 方法返回"标题化"的字符串,就是说'所有'单词的首个字母转化为大写
title()方法语法:

		str.title();

代码示例:
		x = 'hello xwen xiang'
		print(x.title())
打印结果:
		Hello Xwen Xiang
首字母均大写。
lower()方法
lower() 方法转换字符串中'所有'大写字符为小写。
lower()方法语法:

		str.lower()

代码示例:
		x = 'HELLO XWEN XIANG'
		print(x.lower())
打印结果:
		hello xwen xiang
upper()方法
upper() 方法将字符串中的小写字母转为大写字母。
upper()方法语法:

		str.upper()
		
代码示例:
		x = 'hello xwen xiang'
		print(x.upper())
打印结果:
		HELLO XWEN XIANG
capitalize()方法
capitalize()将字符串的'第一个'字母变成大写,'其他字母'变小写
capitalize() 方法语法:

		str.capitalize()
		
代码示例:
		x = 'hello xwen Xiang'
		print(x.capitalize())
打印结果:
		Hello xwen xiang
swapcase()方法 —反转大小写
swapcase()方法可以将字符串的大小写反转,大写变小写,小写变大写。

例如:
		x = 'XWenXiang'
		print(x.swapcase())

打印的结果:
		xwENxIANG

判断字符串首尾字符:

startswith()方法
startswith() 方法用于检查字符串是否是以指定子字符串开头
startswith()方法语法:

		str.startswith(substr, beg=0,end=len(string));

substr -- 指定的子字符串。
strbeg -- 可选参数用于设置字符串检测的起始位置。
strend -- 可选参数用于设置字符串检测的结束位置。

代码示例:
		x = 'hello xwen xiang'
		print(x.startswith('he', 0, 9))
运行后打印出:
		True
		
endswith()方法
endswith() 方法用于判断字符串是否以指定后缀结尾
endswith()方法语法:

	str.endswith(suffix[, start[, end]])

suffix -- 该参数可以是一个字符串或者是一个元素。
start -- 字符串中的开始位置。
end -- 字符中结束位置。

代码示例:
		x = 'hello xwen xiang'
		print(x.endswith('ng', 2, 9))
运行后打印出:
		False

改变文本位置:

center()方法,
center() 方法返回一个指定的宽度 width, 文本居中的字符串
center()方法语法:

		str.center(width[, fillchar])
		
fillchar 为填充的字符(自己设定),默认为空格。

代码示例:
		x = 'XWenXiang'
		print(x.center(13, '-'))
运行后打印出:
		--XWenXiang--

首先将字符的长度与指定的 width 比较,若大于 width ,方法不起作用。
若比 width 小 1 时,会优先在字符串右边加上一个设定的字符
以此类推  
ljust()方法
ljust() 方法返回一个原字符串'左对齐',并使用指定字符填充至指定长度的新字
符串。
如果指定的长度小于原字符串的长度则返回原字符串。

ljust()方法语法:

		str.ljust(width[, fillchar])

width -- 指定字符串长度。
fillchar -- 填充字符,默认为空格。

代码示例:
		x = 'XWenXiang'
		print(x.ljust(13, '-'))
运行后打印出:
		XWenXiang----

和 center() 方法不同的是填充的位置是右边,也就是文本居左。
rjust()方法
rjust() 方法返回一个原字符串'右对齐',并使用指定字符填充至指定长度的新字
符串。
如果指定的长度小于原字符串的长度则返回原字符串。

rjust()方法语法:

		str.rjust(width[, fillchar])

width -- 指定字符串长度。
fillchar -- 填充字符,默认为空格。

代码示例:
		x = 'XWenXiang'
		print(x.rjust(13, '-'))
运行后打印出:
		----XWenXiang

和 ljust() 方法不同的是填充的位置是左边,也就是文本居右。

检测字符串的字符:

count()方法 —统计出现的次数
count() 方法用于统计字符串里某个字符出现的次数。
count()方法语法:

		str.count(sub, start= 0,end=len(string))

sub   需要搜索的子字符串
start  字符串开始搜索的位置。默认为第一个字符
end  字符串中结束搜索的位置。默认为字符串的最后一个位置。

代码示例:
		x = 'XWenXiang'
		print(x.count('n', 4, 7))
打印结果:
		0
		
同样注意的是,不包括结束位置
find()方法 —查找指定字符的索引值
find() 方法检测字符串中是否包含子字符串 str ,没有返回 -1 ,有返回第一
个符合子字符串的索引值
find()方法语法:

		str.find(str, beg=0, end=len(string))

str   指定检索的字符串
beg   开始索引,默认为0。
end   结束索引,默认为字符串的长度。

代码示例:
		x = 'hello XWenXiang'
		print(x.find('ng', 3, 19))
打印结果:
		13in 不同,in 返回的是 False 或者 True
rfind()方法
和 find() 一样,只不过 rfind() 是从右边开始查找。
index()方法
和 find() 方法一致,就是若需要查找的字符串没有存在,会报错
index()方法语法:

		str.index(str, beg=0, end=len(string))

替换字符串的元素

replace()方法 —替换字符
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果
指定第三个参数 max ,则替换不超过 max 次。
replace()方法语法:

		str.replace(old, new[, max])

old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次

代码示例:
		x = 'hello XWenXiang'
		print(x.replace('n', 'U', 1))
打印结果:
		hello XWeUXiang

判断字符串的组成:

islower()方法
islower() 方法检测字符串是否由小写字母组成。
islower()方法语法:

		str.islower()

若字符串中都为小写,返回 True ,否则返回 True 


代码示例:
		x = 'hello XWenXiang'
		print(x.islower())
打印结果:
		False
isupper()方法
isupper() 方法检测字符串中所有的字母是否都为大写。
isupper()方法语法:

		str.isupper()

若字符串中都为大写,返回 True ,否则返回 True 


代码示例:
		x = 'hello XWenXiang'
		print(x.isupper())
打印结果:
		False
isalnum()方法
isalnum() 方法检测字符串是否由字母和数字组成。
isalnum()方法语法:

		str.isalnum()

若字符串中只有字母和数字,返回 True ,若还有其他的字符(空格也算)返回
False

代码示例:
		x = 'hello XWenXiang'
		print(x.isalnum())
打印结果:
		False
isalpha()方法
Python isalpha() 方法检测字符串是否只由字母或文字组成。
isalpha()方法语法:

		str.isalpha()

和 isalnum() 一样,只不过条件换成了字母和中文
isdigit()方法 —判断是否为纯数字
isdigit()方法检测'字符串'是否只由'纯数字'组成,小数点都不行。
isdigit()方法语法:

		str.isdigit()

字符串只包含数字则返回 True 否则返回 False

连接字符串:

当我们需要连接字符串时,我们可以使用 +号来对字符串进行连接,但是字符串较大时效率较低。

+ 号示例:
		x = 'XWen'
		y = 'Xiang'
		print(x + y)
打印结果:
		XWenXiang

当我们需要重复一段字符串时,可以使用*来实现。

代码示例:
		x = 'W'
		print(x * 10)
打印结果:
		WWWWWWWWWW
join()方法
join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
join()方法语法:

		str.join(sequence)

sequence  要连接的元素序列

代码示例:
		x = 'hello XWenXiang'
		y = '-'
		print(y.join(x))
打印结果:
		h-e-l-l-o- -X-W-e-n-X-i-a-n-g

join() 相当于把一个字符串进行 for 循环,循环一次加一次。	
可以理解为,将一个字符串分别插入另一个字符串各个元素之间

返回字符串长度:

len()方法
返回一个字符串的长度
len()方法语法:

		len( s )

示例代码:
		x = 'hello XWenXiang'
		print(len(x))
打印结果:
		15
	
# 可以用来判断输入值是否为空	

比较字符串的大小:

max() min()方法
max()方法返回字符串中最大的字母。
min()返回最小
max()min() 方法语法:

		max(str)
		min(str)

注意比较的是字符对应的ASCII码大小

字符串的切割:

split()方法
split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,
则分割为 num+1 个子字符串。

简单说就是查找字符串里有没有想要的元素,有的话就把字符串分割了,要注意的
是分割之后,被分割的元素会被组成一个'列表'

split() 方法语法:

		str.split(str="", num=string.count(str))
		
str  分隔符,默认为'所有的空字符',包括空格、换行(\n)、制表符(\t)等。
num  分割次数。默认为 -1, 即分隔所有。

代码示例:
		x = '/hello/XWen/Xiang'
		print(x.split('/', 2))
打印结果:
		['', 'hello', 'XWen/Xiang']
		
将带有'/'的地方进行分割,并组成'列表',最多分割俩次。

移除首尾指定字符:

strip()方法 —移除指定字符
strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
strip()方法语法:

		str.strip([chars]);

chars -- 移除字符串头尾指定的字符序列。

代码示例:
		x = '%hello XWen Xiang%'
		print(x.strip('%'))
打印结果:
		hello XWen Xiang

也就是把俩边指定的字符 '%' 去除了。
'注意点,字符串中间的字符不能被指定删除'


拓展,还有分别删除左边、右边指定字符的方法,为'lstrip()、rstrip()'
lstrip()方法
lstrip() 方法用于截掉字符串左边的空格或指定字符。
lstrip()方法语法:

		str.lstrip([chars])
		
代码示例:
		x = '%hello XWen Xiang%'
		print(x.lstrip('%'))
打印结果:
		hello XWen Xiang%

字符串左边的指定字符被删除了
rstrip()方法
rstrip() 方法用于截掉字符串右边的空格或指定字符。
rstrip()方法语法:

		str.rstrip([chars])
		
代码示例:
		x = '%hello XWen Xiang%'
		print(x.rstrip('%'))
打印结果:
		%hello XWen Xiang

字符串右边的指定字符被删除了

特殊转义字符

用反斜杠\加特殊字符实现特定功能。

' \n ' 换行,换行是使用较多的功能
	
		x = 'XWen\nXiang'
		print(x)

	打印的结果:

		XWen
		Xiang


' \t ' 横向制表符

		x = 'XWen\tXiang'
		print(x)

		打印的结果:
		
		XWen	Xiang


还有很多就不一一举例了。
若是我们想要输出反斜杠但是又不想实现特殊的功能时,我们可以在字符串前面加
一个' r '来取消特殊含义

例如:
		x = r'XWen\tXiang'
		print(x)
		
现在打印的是:
		XWen\tXiang
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值