python数字转字符串 格式化,python 数字类型和字符串类型的相互转换
本文主要介绍Python数据类型、十进制转换和字符串格式化。在Python2中区分了integer int和long integer long,而在Python3中只统称integer int。这篇文章给你做了非常详细的介绍。请有需要的朋友参考一下。
00-1010 1.整数、浮点数和复数浮点数十进制复数2。小数转换为十进制数类型整数小数运算3。字符串3.1转义符3.2字符串值4。字符串操作和转换5。判断字符串的常用方法6。字符串格式% format格式F格式练习7。字符串拼接
目录
在Python2中区分整数int和long
在Python3中,只有int统称为integer。
1. 整数、浮点数和复数
也就是带小数点的数,因为浮点数是用二进制表示的,有时小数部分无法表示。是不准确的。
浮点构成:由整数位、小数点、小数位组成,也可以用科学计数来表示。
浮点数
是准确的。
从decimal导入decimal #从decimal包中导入Decimal类
Mydec=decimal(3.22) #将字符串转换为小数类型
print(mydec,type(mydec))
mydec 2=decimal(3.22)# Floating-point 3.22是不精确的,转换成Decimal是精确的。
print(mydec2,type(mydec))
结果:十进制3.22。小数
3.220000000000000195399252334027551114559173583984375类十进制。小数
Decimal
目录(a)查看属性
A.imag得到的是虚部,不管定义时是整数还是浮点,最终都会转换成浮点。
A.real得到真实的部分
a=4 5j
a .图像
5.0
a .真实
4.0
复数
2.进制转换
二进制、八进制和十六进制都是整数。
A=0b11二进制
类型(a)
类“int”
B=0o11八进制八进制
类型(b)
类“int”
C=0x11十六进制十六进制
类型(c)
类“int”
进制数字类型
Integer转换为2,8,16,得到的值是字符串类型。
s="brush:py;">>>> num = 100
>>> bin(num) 整型转换成二进制,()里面只能是整型
任意进制转2进制, 接收一个int, 返回一个str
0b1100100
>>> oct(num) 任意进制转8进制, 接收一个int, 返回一个str
0o144
>>> hex(num) 任意进制转16进制, 接收一个int, 返回一个str
0x64
>>> int (0o11) 接收整型9
>>> int("0o11",base=8) 接收整型,但要指定几进制
9
>>> int("11") 接收整型,可以不指定,因为它是一个数字
11
3. 字符串
3.1 转义字符
r标志:是输出原始字符串,不转义
3.2 字符串取值
下标取值法
从左0123456
从右-1 -2 -3 -4 -5
>>> a = abcdefghijklmnopq>>> a[0]
a
>>> a[-8]
j
切片取值法
str[start:end:step] 左闭右开step 为正数 从左至右
step 为负数 从右至左
str[2:] 从左至右 第三个数开始
str[:7] 从左至右到第七位
str[::-1] 从右至左 步长为1
str[4::-2] 从第五个数开始从右至左 步长为2
>>> a = abcdefghijklmnopq 一旦定义不可改变>>> a[2:5]
cde
4. 字符串运算与转换
>>> str1="qqq">>> str2 = "lll"
>>> str1+str2 # 字符串拼接
qqqlll
>>> str3="abc"
>>> str3*3
abcabcabc字符串复制
>>> result = str(100) # int转换成字符串
>>> type(result)
<class str>
>>> result
100
5. 字符串的常用方法
判断系列
演示:
>>> str7= "helloabc xx zz">>> str7.startswith("abc")
False
>>> str7.startswith("abc",5)
True
>>> str7.startswith("abc",5,7)
False
>>> str7.startswith("abc",5,8)
True
查找统计系列
len不是字符串的属性方法,不能通过.len的方式去计算长度
字符串转换类
>>> str7helloabc xx zz
>>> str7.upper() 转大写
HELLOABC XX ZZ
>>> str7.title() 转标题格式
Helloabc Xx Zz
>>> str9 = str7.title().swapcase() 大小写互换
>>> str9
hELLOABC xX zZ
>>> str9 = "a b c d e f"
>>> str9.split() 默认按空格切割
[a, b, c, d, e, f]
>>> str10 = "a#b#c#d#e#f#g#h"
>>> str10.split("#")
[a, b, c, d, e, f, g, h]
>>> str11 = str10.split("#")
>>> str11
[a, b, c, d, e, f, g, h]
>>> "*".join(str11)
a*b*c*d*e*f*g*h
+和join的效率问题
+ 拼接效率比join低。+拼接,每一次出现都会在内存中开辟一个新的空间,所以效率低
6 . 字符串格式化
%格式化
语法格式:%[(name)][flags][width].[precision]typecode
- (name):命名
- flags: +,-,’ '或0。
+表示右对齐;-表示左对齐;
’ '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐,0表示使用0填充。
- width表示显示宽度
- precision表示小数点后精度
%s 一个萝卜一个坑,一一对应,不能多也不能少
演示:
结果
format格式化
num1 = 0.1416926 #转换成百分位print("%.2f%% " % (num1 * 100))
f格式化
python2不支持这种写法
print(f"my name is {name},my age is {age}")结果:my name is sc,my age is 4
print(f"my name is {name},my age is {age:*>10}")
结果:my name is sc,my age is *********4
练习
字符串的拼接方式
请计算出新拼接出来的字符串长度,并取出其中的第七个字符。
a = "字符串拼接1"b = "字符串拼接2"
print("方式1:" + a + b)
print("方式2:%s%s" % (a, b))
print(f"方式3:{a}{b}")
print("方式4:{0}{1}".format(a, b))
c = a + b
print("新拼接的字符串长度为:", len(c))
print("第七个字符为:", c[6])
str1 = "8*y*cali*china**it*soft*linux*python"
count = str1.count("*")
list = str1.split("*")
str2 = "".join(list)
print("*" * count + str2)
将字符串"8ycalichina**itsoftlinuxpython"里的所有的*
号抽
取出来放到最前面,里面的字符串保持顺序不变
str1 = "8*y*cali*china**it*soft*linux*python"count = str1.count("*")
list = str1.split("*")
str2 = "".join(list)
print("*" * count + str2)
7. 字符串拼接
print(%s %s%(str1,str2))
>>> str1 = "你好">>> str2 = "hejin"
>>> str1+str2 #方式1:加号拼接
你好hejin
>>> "".join([str1,str2]) #方式2:join拼接
你好hejin
>>> print("%s,%s"%(str1,str2)) #方式3:% 占位符
你好,hejin
>>> "{},{}".format(str1,str2) #方式4:format()
你好,hejin
>>> "{0},{1}".format(str1,str2) # 方式5
你好,hejin
>>> "{1},{0}".format(str1,str2)
hejin,你好
>>> "{a},{b}".format(a=str1,b=str2) # 方式6
你好,hejin
>>> "{b},{a}".format(a=str1,b=str2)
hejin,你好
>>> f"{str1},{str2}" # 方式7:f格式化
你好,hejin
练习:猜谁是小偷
嫌疑人A、B、C、D的笔录如下,其中三人为真,一人为假:a:我不是小偷
b:C是小偷
c:小偷肯定是D
d:小偷肯定是D
lst = ["a", "b", "c", "d"]for x in lst:
if ("a" != x) + ("c" == x) + ("d" == x) + ("d" != x) == 3:
print(f"{x}是小偷")
到此这篇关于Python数据类型、进制转换、字符串格式化的文章就介绍到这了,更多相关Python字符串格式化内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。