Python数据类型的划分、进制转换及常见操作是什么
Admin 2022-09-15 群英技术资讯 538 次浏览
Python2中区分整型int、长整型long
Python3中只有统称为 整型int
即带有小数点的数字,因为浮点数用二进制表示的,小数部分有时是无法表示的。是不精确的
float组成: 由整数位,小数点,小数位组成,也可以用科学计数法表示
是精确的
from decimal import Decimal #从decimal 包导入Decimal 类 mydec = Decimal("3.22") #将字符串转换成decimal类型 print(mydec, type(mydec)) mydec2 = Decimal(3.22) #浮点型3.22 是不精确的,转换成decimal就是精确的 print(mydec2, type(mydec)) 结果:3.22 <class 'decimal.Decimal'> 3.220000000000000195399252334027551114559173583984375 <class 'decimal.Decimal'>
dir(a) 查看属性
a.imag 获取虚部,无论定义的时候是整型还是浮点型最终都会转换成浮点型
a.real 获取实部
>>> a = 4 + 5j >>> a.imag 5.0 >>> a.real 4.0
二进制、八进制、十六进制都是整型
>>> a=0b11 二进制 binary >>> type(a) <class 'int'> >>> b=0o11 八进制 octonary >>> type(b) <class 'int'> >>> c=0x11 十六制 hexadecimal >>> type(c) <class 'int'>
整型转换成2、8、16进制,得到的值是字符串类型
>>> 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
r标志:是输出原始字符串,不转义
下标取值法
从左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'
>>> str1="qqq" >>> str2 = "lll" >>> str1+str2 # 字符串拼接 'qqqlll' >>> str3="abc" >>> str3*3 'abcabcabc'字符串复制 >>> result = str(100) # int转换成字符串 >>> type(result) <class 'str'> >>> result '100'
演示:
>>> 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的方式去计算长度
>>> str7 'helloabc 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低。+拼接,每一次出现都会在内存中开辟一个新的空间,所以效率低
语法格式:%[(name)][flags][width].[precision]typecode
+表示右对齐;-表示左对齐;
’ '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐,0表示使用0填充。
%s 一个萝卜一个坑,一一对应,不能多也不能少
演示:
结果
num1 = 0.1416926 #转换成百分位 print("%.2f%% " % (num1 * 100))
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)
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}是小偷")
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章给大家分享是关于python xlwt模块的使用内容,包含基础类介绍,xlwt高级应用等等,下文有具有实例,感兴趣的朋友可以参考学习,接下来就跟随小编一起来看看xlwt模块的使用吧。
json操作是最为基本的、最为常用的,Python自带的json模块就可以满足大部分应用场景,而且使用起来极为简单,下面这篇文章主要给大家介绍了关于Python中json操作的相关资料,需要的朋友可以参考下
今天很有可能你已经做了一些使用滑动窗口(也称为移动窗口)的事情,而你甚至不知道它。例如:许多编辑算法都是基于移动窗口的。在GIS中做地形分析的大多数地形栅格度量(坡度、坡向、山坡阴影等)都基于滑动窗口。很多情况下,对格式化为二维数组的数据进行分析时,都很有可能涉及到滑动窗口。滑动窗口操作非常普遍,非常有用。它们也很容易在Python中实现。学习如何实现移动窗口将把你的数据分析和争论技能提升到一个新的水平。
python中argparse模块基础及使用步骤,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
这篇文章主要为大家介绍了python skimage图像处理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008