紫色部分使用率是非常高的,尽量掌握。以下例程以python3为例,2.x略有差别。python中处理数据函数有很多很多种,作为使用者没有必要完全掌握,掌握一个原则:“会用就行”,一些不常见的函数能够随时“学会使用”就可以了。1.处理数字的函数非常多,但是一般情况下数字只是用于计算,只需要掌握.bit_length()就可以。x.bit_length() 功能:用于计算x转换为二进制后的位数,x为int型
v1=3
v2=v1.bit_length()
print(v2)  #3换成二进制是11,所以输出是2
v3=4
v4=v3.bit_length()  #4换成二进制是100,所以输出是3
print(v4)
v5=255  #255换成二进制是1111 1111,所以输出是8v6=v5.bit_length()print(v6)

输出:

2

3

8

注意:若x为str型,报错

2.处理字符串函数。

x.capitalize()  功能:将首字母大写
v1="abc"
v2=v1.capitalize()
print(v2)

输出:Abc

注意:若x为int型,结果不报错,但是没有任何意义。


x.casefold() 功能:将x中所有的大写字母小写
v1="AbC"
v2=v1.casefold()
print(v2)

输出:

abc


.center()  作用:按照设定的总长度居中,并且可用任意字符补充其余位置,缺省值默认为空格。
原形为:center(self, *args, **kwargs)。括号中第一部分可以忽略,第二部分为总长度,不能缺省,第三部分为填充其余位置的字符,缺省值默认为空格。
v1="AbC"
v2=v1.center(20,"#")
print(v2)
v3="AbC"
v4=v3.center(20)
print(v4)

输出:

########AbC#########
          AbC

注意:第三部分必须是一个字符,如果是大于一个字符,提示报错The fill character must be exactly one character long,意思是所占位置必须是一个字符长度。在python中,没有“字符”的定义,一个字符也是字符串,这里为了方便理解,称为字符。
x.ljust() 作用:字符串左居中,总长度须设定,空余位置用设定字符补齐。
v1="abc"
v2=v1.ljust(10,"*")
print(v2)

输出:abc*******
x.rjust()  作用:字符串右居中,总长度须设定,空余位置用设定字符补齐。x.zfill()  作用:字符串右居中,总长度须设定,其余位置强制0补齐。

x.casefold()
x.lower()作用:将x中所有字符小写。
v1="AbC"
v2=v1.casefold()
print(v2)
v3="AbC"
v4=v3.lower()
print(v4)

输出:

abc
abc

虽然两者作用看似相同,但是作用范围略有区别。casefold()作用范围更广,可以将大写英文字母之外的其他字符也转为小写,比如希腊字符等。lower()是将大写英文字母转为小写字母。所以,日常使用,我们只需要记住casefold()即可。

x.upper() 作用:将x中所有字符转为大写。

x.swapcase() 作用:将字符串中所有大写转小写,小写转大写,其他字符不变。

v1="_abC"
v2=v1.swapcase()
print(v2)

输出:

_ABc

x.count() 功能:寻找子序列出现的次数。(计算x中某一个或几个连续字符出现的次数。)

函数原形:count(self, sub, start=None, end=None) 后两项可以省略。

v1="AbCAbCAbC"
v2=v1.count("Ab")  #Ab出现了3次,所以输出为3
print(v2)
v1="AbC"
v2=v1.count("AC")  #AC虽然出现了3次,但是AC并不连续,所以输出为0
print(v2)

输出:

3
0

v1="AbCAbCAbC"
v2=v1.count("Ab",3)
print(v2)
v1="AbCAbCAbC"
v2=v1.count("Ab",4)
print(v2)

输出:

2
1

start的意思是起始位置,start=3时,重复次数是2,start=4时重复次数是4,说明第一个A的位置不是0,而是1。

v1="AbCAbCAbC"
v2=v1.count("Ab",3,7)
print(v2)
v1="AbCAbCAbC"
v2=v1.count("Ab",3,8)
print(v2)

输出:

1

2

end是结束位置,end=7时,重复1次,end=8时重复2次。7的位置是第三个b,8的位置是第三个C,所以起始位置包含start,不包含end。可以理解为高中所学的“区间”概念,左闭右开。

注意:类似的,在原型中有=none的都是可以省略的。

x.endswitch()  作用:检测是否以某一个字符串结束,返回值是布尔型,即true false。

v1="ABC"
v2=v1.endswith("C")
print(v2)
v1="ABC"
v2=v1.endswith("D")
print(v2)
v1="ABCDE"v2=v1.endswith("CE")  #CE不连续,所以输出是falseprint(v2)

输出:

True
False

False

x.startswitch()  作用:检测是否以某一个字符串开始,返回值是布尔型,即true false。和x.endswitch() 用法一致。

x.find()作用:寻找子序列是否存在。如果不存在,返回值为-1;如果存在,返回值是所在位置。第一个位置是0

v1='abcabc'
v2=v1.find('bc')
print(v2)
v1='abcabc'
v2=v1.find('ca')
print(v2)

输出:

1

2

x.find()函数还可以设置查找启示和停止位置。同样遵循左闭右开的原则。

v1='abcabc'
v2=v1.find('bc',1,2)
print(v2)  # 输出: -1
v1='abcabc'
v2=v1.find('bc',1,3)
print(v2)  # 输出: 1

index函数和find()函数功能一样,都是寻找;但是当找不到时,find()的返回值是-1,index()报错。

x.format 作用:替换指定字符

v1="{XXX}棒棒哒 每天{age}岁"
print(v1)
v2=v1.format(XXX="王栋轩",age="18")
print(v2)

 输出:

{XXX}棒棒哒 每天{age}岁
王栋轩棒棒哒 每天18岁

在v1中,需要代替的字符串用大括号{},括起来。也可以不用写“XXX”和“age”,用占位符表示,从0开始。

v1="{0}棒棒哒 每天{1}岁"
print(v1)
v2=v1.format("王栋轩","18")
print(v2)  #输出:王栋轩棒棒哒 每天18岁

另外一种书写方式:

v1="{xxx}棒棒哒 每天{age}岁"
print(v1)
v2=v1.format_map({"xxx":"王栋轩","age":"18"})
print(v2)

不同的是,传入的值是{"xxx":"王栋轩","age":"18"}

另外一个替换的函数是replace()

v1="XXX棒棒哒,XXX美美哒"v2=v1.replace('XXX',"王栋轩")v3=v1.replace('XXX',"王栋轩",1)v4=v1.replace('XXX',"王栋轩",2)print(v2,v3,v4)

输出:王栋轩棒棒哒,王栋轩美美哒 王栋轩棒棒哒,XXX美美哒 王栋轩棒棒哒,王栋轩美美哒

 

x.isalnum() 作用:判断字符串中是否只包含数字和字母;如果只包含数字和字符串,返回值是true;否则,false

v1="123abc-+"
v2=v1.isalnum()
print(v2)
v1="123abc"
v2=v1.isalnum()
print(v2)

输出:

False
True

x.isalpha()作用是判断字符串中是否只含有英文字母。是,返回true,不是,返回false。x.isdecimal()、x.isnumeric()和x.isdigit()用来判定是否只有数字,但是x.isdecimal()只能判定十进制的数字,x.isdigit()可以判定比较生僻的数字,比如②

x.expandtabs()   作用:将转义字符\t转为空格,空格数量为()中内容,缺省值为8。

v1="12345679\t1\t23456\t"
v2=v1.expandtabs()
print(v1)
print(v2)

输出

x.isidentifier() 作用:检测字符串是否符合标识符命名规则。在python中,标识符命名规则为:只包含数字、字母和下划线,开头不能是字母。符合规则返回true,不符合返回false。x.islower  作用:检测字符串中是否都是小写字母,如果是,返回true,如果不是,返回false。x.isprintable()  作用:检测字符串中是否含有不能打印的字符。例如转义字符,\n \t等,这些都不能打印出来。如果含有,返回false,如果不含有,返回truex.isspace() 作用:检测字符串是否全部是空格(空字符串),是,返回true,不是,返回falsex.istitle() 作用:检测字符串是否是标题,也就是每个单词首字母大写。x.title() 作用:将字符串转为标题,也就是每个单词首字母大写。x.islower() 作用:判断字符串中所有字符是不是小写字母,是,返回true,否,返回falsex.isupper() 作用:判断字符串中所有字符是不是大写字母,是,返回true,否,返回false

x.join()  作用:在原字符串中,每隔一个字符,插入一个新的字符。开头和结尾不加。
v1="床前明月光"
v2='  '
v3=v2.join(v1)
print(v3)

输出:

床_前_明_月_光

x.strip()、x.rstrip()和x.lstrip()  作用:去掉字符串中的指定子序列,缺省值默认为去掉空格或\t

v1="123456789"
v2=v1.lstrip("236")
v3=v1.rstrip("abc98a")
v4=v1.strip("1")
print(v2)
print(v3)
print(v4)

输出:

123456789
1234567
23456789

从结果中可以看出,必须从“头”开始,如v2=v1.lstrip("236")中,v1的左侧“1”没有去掉,后边的所有字符不可能去掉。

v1="  abc  "
v2=v1.lstrip()
v3=v1.rstrip()
v4=v1.strip()
print(v2)
print(v3)
print(v4)

输出:

x.translate() 作用:替换字符串中的部分字符

v1='1383838438'm=str.maketrans('123456','abcdef')  #maketrans()的作用是将两个字符串联系起来,为后边的替换做铺垫new_v1=v1.translate(m)print(new_v1)

输出:

ac8c8c8dc8

x.partition()和x.rpartition()  作用:前者从左侧开始分割,后者从右侧开始分割,两者都只能分割成三部分

v1='1383838438'
v2=v1.partition('3')
v3=v1.rpartition('3')
print(v2,v3)

输出:

('1', '3', '83838438') ('13838384', '3', '8')

x.split()和x.rsplit()  作用:前者从左侧开始分割,后者从右侧开始分割,与partition()不同的是,可以分割成任意部分,而且弊端是分割的标志不再作为分割的结果。例如下面例子中的“3”不会出现在分割结果中。split()括号中缺省时,默认为分割成数量最多的部分,即碰到相同字符就分割。

v1='1383838438'v2=v1.split('3',2)v3=v1.rsplit('3',2)print(v2,v3)

输出:

['1', '8', '838438'] ['13838', '84', '8']

x.splitlines()  作用:对换行符\n进行分割。()中的参数是布尔值,true,false。true代表保留换行\n,false不保留\n(这里的\n不再是换行的意思,就是普通字符而已)。

v1="张三\n李四\n王五"
v2=v1.splitlines(True)
v3=v1.splitlines(False)
print(v2,v3)

输出:['张三\n', '李四\n', '王五'] ['张三', '李四', '王五']

注意:True or False 首字母必须大写!!!否则不识别!!!

转载于:https://www.cnblogs.com/lgwdx/p/9572792.html

不同数据类型的处理函数(一)相关推荐

  1. 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链)

    你不走出舒适圈,又怎么知道自己多坚强?! 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链) 前端面试 - JS总结(2) - ES6 (let, 箭头函数, this) 前 ...

  2. Python基础(可变数据类型不能做函数参数、装饰器、剥皮函数、时间间隔)

    1.可变数据类型不能做函数参数: 参数会动态改变 def func(a, l=[]):l.append(a)print(id(l))return lf1 = func(1) print(f1) # [ ...

  3. 【C 语言】数据类型本质 ( sizeof 函数 | 数据类型大小 )

    文章目录 一.sizeof 函数 二.数据类型大小 三.代码示例 一.sizeof 函数 sizeof() 函数可以计算 数据类型 的大小 ; sizeof (类型说明符/表达式) 可以向函数中传递 ...

  4. 三.Oracle常用数据类型及单行函数总结

    1.课外扩展知识 UTF-8 一个中文占3个字节,GBK 一个中文占2个字节ctrl+E:可以找到sql查询语句的历史记录(在sql-wiwdow操作)在doc里输desc 表名可以查出该表所有列的类 ...

  5. VBA数据类型和类型转换函数

    一.数据类型 1.Boolean--2字节--0-255 2.Byte--1字节--True或False 3.Integer--2字节-- 32768-32767(注意范围) 4.Long--4字节- ...

  6. 【Python】Python基本概念、print()输出函数、标准数据类型、type()函数与isinstance()函数、数据类型转换、变量与变量名的命名规则、注释

    1.Python基本概念 1.编译器&解释器 : 将代码编译成计算机能够识别的命令 计算机可以识别的机器码 0 1 区别: 编译器:全文翻译,编译型语言 解释器:实时翻译,解释型语言 2.py ...

  7. tf2常用数据类型与常用函数汇总

    本篇文章将对tf2的一些常用函数及类进行记录,以方便以后使用. tf2的wiki教程为 http://wiki.ros.org/tf2/Tutorials tf2的源码地址为 https://gith ...

  8. 2.Javascript(DOM操作,数据类型补充,函数补充,选择分支补充

    目录 一.补充 1.数据类型转换 2.运算符补充 3.函数创建.作用域.声明.按值传递 4.预定义全局函数 5.补充分支循环 6.数组补充 二.API方法,二维数组,String字符串 1.数组API ...

  9. matlab实验5函数文件,matlab实验作业(数据类型,常用函数,导入外部文件)

    实验一 MATLAB环境与运算基础 一.实验目的 掌握 MATLAB环境与基本操作: 掌握MATLAB常见数据类型的创建.表示和引用: 熟悉MATLAB数据类型的各种运算与常用函数: 熟悉导入外部数据 ...

最新文章

  1. 现代软件工程 第十二章 【用户体验】练习与讨论
  2. JAVA escape/unescape
  3. 移动端也能兼容的web页面制作1:MDBootstrap演示Demo运行演示
  4. 许海燕(1987-),女,宁波市智慧城市规划标准发展研究院研究人员.
  5. 字符串string 、byte[]、MemoryStream、Base64String的相互转换
  6. 面试小结170308
  7. php面向对象的接口,PHP面向对象之接口编程
  8. HTML5的表单验证属性--pattern
  9. 手写简化版printf函数
  10. linux搭建一个配置简单的nginx反向代理服务器 2个tomcat
  11. MySQL 阿里巴巴JAVA开发手册-MySQL相关
  12. 什么是编译器(编程软件)?
  13. Altium Designer精简版
  14. lj245a引脚功能图_74HC245引脚图应用电路与中文资料
  15. 执行npm install报错:npm ERR! code EINTEGRITY,npm ERR! 最彻底,最实用的方法就是更新node版本
  16. charles介绍及代理设置
  17. (2.3)【遥控型木马-灰鸽子】原理、使用方法
  18. Neutron OVS-DVR
  19. 【Python 实战基础】如何绘制树状图展示Python数据分析师的知识结构
  20. 这图怎么画 | 相关分析棒棒糖图

热门文章

  1. Docker容器的备份与恢复,Docker镜像的备份与恢复
  2. JVM内存调优原则及几种JVM内存调优方法
  3. struts2 与 sping 整合 控制器中 service注入的问题
  4. Go 编译的可执行文件是否有动态库链接?
  5. 2022-2028年中国企业核心路由交换机行业市场前瞻与投资分析报告
  6. npm install 提示权限不足 Error: EPERM: operation not permitted, unlink XXX
  7. 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈
  8. OFRecord 数据格式
  9. 新兴解决方案增强了电动汽车电源(功耗)管理
  10. 图像处理 100 问!!