python数值与字符串高级用法

1.概述

这篇是一篇没有尽头的文章,每当过段时间,再次打开就会看到不一样的内容,有新东西在更新啊。是啊,之所以取名为高级用法,就是因为它是连载的,一个个有趣的知识点就像是一个个故事。每读一遍都有新的收获。

2.数值

2.1.美化数值

在定义数值字面量时,如果数字特别长可以通过插入_分隔符来让他变得更易读

# 格式化数值:在定义数值字面量时,如果数字特别长,可以通过插入_分隔符来变得更易读
# 以千为分隔单位,输出结果(num值为:10000)
num = 1_000_0
print(f'num值为:{num}')
# 输出结果
num值为:10000

补充:Python数值和字符串

数值类型

## 整型
i0 = 3
#int(x)这种方法通常在类型转换的时候使用,python定义数字一般就用最简单的
i1 = int(2)
print("i0 = {}".format(i0))
print("i1 = {}".format(i1))

## 浮点型
f0 = 3.14
f1=float(3.1415)
print("f0 = {}".format(f0))
print("f1 = {}".format(f1))

## bool型
#bool型是int型子类
print("isinstance(True,int):{}".format(isinstance(True,int)))
print("issubclass(bool,int):{}".format(issubclass(bool,int)))

## 算数运算
#  - * / % // **
#/ 始终返回一个浮点数
#// 地板除,返回值取决于除数和被除数类型
#%  公式:a%b = a - (a/b)*b    python中结果向负无穷方向舍入,以b的结果为准  golang中结果正负以a为准
print("i0/i1 = {}".format(i0/i1))
print("i0//i1 = {}".format(i0//i1))
print("f0//f1 = {}".format(f0//f1))
print("i0**i1 = {}".format(i0**i1))

## 逻辑运算
#< > <= >= == !=
print("f1 > i1 : {}".format(f1>i1))
# is 用于比较是否是同一个对象

## 位运算
# << 左移一位相当于*2
# >> 右移一位相当于/2
print("i1 << 1:{}".format(i1<<1))

## 进制转换
#bin() 转换为二进制
#oct() 转换为八进制
#hex() 转换为十六进制
print("dec:{}->bin:{}".format(i1,bin(i1)))

## 类型转换
print("float:{}->int:{}".format(f1,int(f1)))

## math库
#import math
------------------------------
i0 = 3
i1 = 2
f0 = 3.14
f1 = 3.1415
isinstance(True,int):True
issubclass(bool,int):True
i0/i1 = 1.5
i0//i1 = 1
f0//f1 = 0.0
i0**i1 = 9
f1 > i1 : True
i1 << 1:4
dec:2->bin:0b10
float:3.1415->int:3

字符/字符串

####定义
# 用 "" 或者 ''
s1 = 'abcde'
s2 = "abcd"
print("s1 type is {}".format(type(s1)))
print("s2 type is {}".format(type(s2)))
print("s1:{}".format(s1))



####方法
### 增
# s1 = str.join(s2) 括号中为可迭代对象,在s2中每两个字符之间插入s1,返回新字符串
lst1 = ["x", "y", "z"]
s3 = s1.join(s2)
print("s3:{}".format(s3))
s4 = s1.join(lst1)
print("s4:{}".format(s4))

### 删


### 改
##str.split(seq=None,maxsplit=-1) 
# 将字符串按seq分割为若干片段,默认seq为空白字符(空格,tab等),返回列表
# maxsplit 指定分割次数,-1表示遍历字符串,分割1次结果为两段
# str.rsplit() 作用是从右侧开始分割
# str.splitlines([keepends]) 按换行符切换 [True]表示保留换行符
s5 = "0a1a2a3a4a5a6"
print("s5.split:{}".format(s5.split("a")))

##str.upper() 全大写
print("s1.upper():{}".format(s1.upper()))

##str.lower() 全小写
print("s1.lower():{}".format(s1.lower()))

##str.swapcase() 大小写互换
print("s1.swapcase():{}".format(s1.swapcase()))

##str.replace(old,new[,count]) 将字符串中的old替换为new,count为替换次数,返回新字符串
print("s5.replace(\"a\",\"b\",3):{}".format(s5.replace("a", "b", 3)))

##str.strip([str]) 去除两侧的字符串, str.lstrip() 左侧去除 str.rstrip() 右侧去除
s6 = "abc xxx def"
print("s6.strip(\"abc\"):{}".format(s6.strip("abc")))

##拼接 直接用加号拼接


### 查
##索引,通过索引索引 str[i]

##切片 str[begin:end:step] 从begin到end 步长为step,当step为负数的时候表示从右到左,str[::-1]逆序输出
print("s6[0:4:2]:{}".format(s6[0:4:2]))
print("s6[::-]:{}".format(s6[::-1]))

##len(str)
print("len(s1):{}".format(len(s1)))

##str.count() 查找字符串中子串出现的次数
print("s6.count(\"abc\"):{}".format(s6.count("abc")))

##str.find(sub[,begin[,end]]) 从左到右,左开右闭,返回索引,找不到返回-1
print("s1.find(\"a\"):{}".format(s1.find("a")))

##str.rfind(sub[,begin[,end]]) 从右到左,左开右闭,返回索引,找不到返回-1
print("s1.rfind(\"z\"):{}".format(s1.find("z")))

##str.index(sub[,begin[,end]]) 从左到右,左开右闭,返回索引,找不到返回 ValueError: substring not found
print("s1.index(\"a\"):{}".format(s1.index("a")))

##str.rindex(sub[,begin[,end]]) 从右到左,左开右闭,返回索引,找不到返回 ValueError: substring not found
# print("s1.rindex(\"z\"):{}".format(s1.rindex("z")))  ValueError: substring not found

##str.endswith(suffix[,start[,end]]) 判断str是否以suffix结尾,返回bool值
print("s6.endswith(\"abc\"):{}".format(s6.endswith("abc")))

##str.startswith(prefix[,start[,end]]) 判断str是否以prefix结尾,返回bool值
print("s6.startswith(\"xyz\"):{}".format(s6.startswith("xyz")))

##str.isdigit() 判断字符串是不是只有数字,返回bool型
print("s1.isdigit():{}".format(s1.isdigit()))

##str.isalpha() 判断字符串是不是只有字母,返回bool型
print("s1.isalpha():{}".format(s1.isalpha()))

##str.isupper() 判断字符串是不是只有大写字母,返回bool型
print("s1.isupper():{}".format(s1.isupper()))



####补充
# str是不可变对象

# r/R后接字符串表示字符串中所有字符都不做转义
print("'12345\\n' "   '12345\n')
print("r'12345\\n' "   r'12345\n')

----------------------------------------------
s1 type is <class 'str'>
s2 type is <class 'str'>
s1:abcde
s3:aabcdebabcdecabcded
s4:xabcdeyabcdez
s5.split:['0', '1', '2', '3', '4', '5', '6']
s1.upper():ABCDE
s1.lower():abcde
s1.swapcase():ABCDE
s5.replace("a","b",3):0b1b2b3a4a5a6
s6.strip("abc"): xxx def
s6[0:4:2]:ac
s6[::-]:fed xxx cba
len(s1):5
s6.count("abc"):1
s1.find("a"):0
s1.rfind("z"):-1
s1.index("a"):0
s6.endswith("abc"):False
s6.startswith("xyz"):False
s1.isdigit():False
s1.isalpha():True
s1.isupper():False
'12345\n' 12345

r'12345\n' 12345\n

到此这篇关于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、Go、Julia与R能否挑战 Python 的王者地位

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

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

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

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

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

  7. Swift中的列表解析

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

  8. swift抛出终端的python错误

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

  9. 在Android上用Java嵌入Python

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

  10. 在android studio中使用python代码构建android应用程序

    我有一些python代码和它的机器人,我正在寻找一种方法来使用android项目中的那些python代码.有没有办法做到这一点!?解决方法有两种主要工具可供使用,它们彼此不同:>QPython>Kivy使用Kivy,大致相同的代码也可以部署到IOS.

随机推荐

  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问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部