1. 整数、浮点数和复数

Python2中区分整型int、长整型long
Python3中只有统称为 整型int

浮点数

即带有小数点的数字,因为浮点数用二进制表示的,小数部分有时是无法表示的。是不精确的

float组成: 由整数位,小数点,小数位组成,也可以用科学计数法表示

Decimal

是精确的

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

2.进制转换

进制数字类型

二进制、八进制、十六进制都是整型

>>> 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

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的方式去计算长度

字符串转换类

>>> 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的效率问题

拼接效率比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字符串格式化内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

详解Python数据类型、进制转换、字符串格式化的问题的更多相关文章

  1. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  2. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  3. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  4. swift 中常用的进制转换

  5. Swift、Go、Julia与R能否挑战 Python 的王者地位

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  6. 红薯因 Swift 重写开源中国失败,貌似欲改用 Python

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  7. 你没看错:Swift可以直接调用Python函数库

    上周Perfect又推出了新一轮服务器端Swift增强函数库:Perfect-Python。对,你没看错,在服务器端Swift其实可以轻松从其他语种的函数库中直接拿来调用,不需要修改任何内容。以如下python脚本为例:Perfect-Python可以用下列方法封装并调用以上函数,您所需要注意的仅仅是其函数名称以及参数。

  8. Swift中的列表解析

    在Swift中完成这个的最简单的方法是什么?我在寻找类似的东西:从Swift2.x开始,有一些与你的Python样式列表解析相当的东西。(在这个意义上,它更像是Python的xrange。如果你想保持集合懒惰一路通过,只是这样说:与Python中的列表解析语法不同,Swift中的这些操作遵循与其他操作相同的语法。

  9. swift抛出终端的python错误

    每当我尝试启动与python相关的swift时,我都会收到错误.我该如何解决?

  10. 在Android上用Java嵌入Python

    解决方法看看this,它适用于J2SE,你可以尝试在Android上运行.

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部