Python3基础知识之字符串
1、运算符 *
>>> b=a*5
>>> b
'pythonpythonpythonpythonpython'
>>> b.replace('t','12')
'py12honpy12honpy12honpy12honpy12hon'
>>> b.replace('t','12',1)
'py12honpythonpythonpythonpython'
>>> b.replace('t','12',-1)
'py12honpy12honpy12honpy12honpy12hon'
>>>
第三个参数只能代表个数,不能用其他值,比如负数
>>> b.replace('np','n p')
'python python python python python'
>>> b = b.replace('np','n p')
>>> b
'python python python python python'
>>> b.split()
['python', 'python', 'python', 'python', 'python']
>>> b
'python python python python python'
>>> b.split('h')
['pyt', 'on pyt', 'on pyt', 'on pyt', 'on pyt', 'on']
>>> b.split('h',1)
['pyt', 'on python python python python']
>>> b.split('h',2)
['pyt', 'on pyt', 'on python python python']
>>>
2、字符串的拼接
第一种方法用加号"+"
>>> a
'hello'
>>> b
'python'
>>> c
'!'
>>> a+b+c
'hellopython!'
>>> a+''+b+ ''+c
'hellopython!'
>>> a+' '+b+' '+c
'hello python !'
>>>
第二种方法用格式化符号%s
>>> 'my name is %s' % b
'my name is python'
>>>
>>> '%s %s %s' %(a,b,c)
'hello python !'
>>>
>>> '%s i love %s %s' %(a,b,c)
'hello i love python !'
>>>
第三种方法: join()
括号里是要连接的元组、列表
注意括号里是要连接的可以是列表,元组,
>>> m
['h', 'e', 'l', 'l', 'o']
>>> ''.join('m')
'm'
>>> ''.join(m)
'hello'
>>> L='I love Python'
>>> ''.join(L)
'I love Python'
>>> ' '.join(L)
'I l o v e P y t h o n'
>>> H=['hello','python','!']
>>> ''.join(H)
'hellopython!'
>>> ' '.join(H)
'hello python !'
>>>
>>> ' '.join([a,b,c]) (注:''里面是连接后面各个字符串的字符)
第四种方法: .format方式
>>> '{}{}{}'.format(a,b,c)
'hellopython!'
>>>
>>> '{}{}{}'.format(a,b,c)
'hellopython!'
>>> '{2}{1}{0}'.format(a,b,c)
'!pythonhello'
>>> '{2}{0}{1}'.format(a,b,c)
'!hellopython'
>>>
>>> '{x}{y}{z}'.format(x=a,y=b,z=c)
'hellopython!'
>>>
format方法详解:
'{}{}{}'.format(a,b,c)
当{}里面是空的时候,里面默认索引为0,1,2按format括号里的顺序依次填入
'{1}{2}{0}'.format(a,b,c)
当{}里面有索引值时,按前面的索引值将后面的每项依次填入
'{x}{y}{z}'.format(x=a,y=b,z=c)
{}里面可以指定对象名称,后面通过赋值的方式给前面的相应的值,后面是无序的
3、格式化字符串
格式化整数 %d
格式化小数 %f
>>> '%f' % 12
'12.000000'
>>> '%4s' % 'a'
' a'
>>>
控制小数位数,4表示总长度
>>> '%10.2f' % 12
' 12.00'
>>>
保证总长度为10位,其中小数有2位
>>> '%-10.2f' % 12
'12.00 '
>>>
指定从那边开始,减号说明从左对齐,
%c格式化ASCII字符
>>> '%c' % 120
'x'
>>>
%o格式化八进制
>>> '%o' % 8
'10'
%x格式化十六进制
>>> '%x' % 16
'10'
%e用科学计数法格式化
>>> '%e' % 1000
'1.000000e+03'
>>>
字符串转义
>>> x='abc\ndef'
>>> x
'abc\ndef'
>>> print(x)
abc
def
>>
直接输出和print()输出本质是不同的,print()输出中的end=\n
\\反斜杠
\'单引号
\"双引号
\n换行
\a提示音
\b 退格键
\r回车键
\t横向制表符
\f换页
原始字符r
表示不转义,使用真实字符
>>> c='abc\bde\taf\sa\ngeg'
>>> c
'abc\x08de\taf\\sa\ngeg'
>>> c=r'abc\bde\taf\sa\ngeg'
>>> c
'abc\\bde\\taf\\sa\\ngeg'
>>>
4、字符串常用的方法和属性
字符串的方法及属性:
s.count(x):返回字符串x在s中出现的次数,带可选参数
s.endswith(x):如果字符串s以x结尾,返回True
s.startswith(x):如果字符串s以x开头,返回True
s.find(x) :返回字符串中出现x的最左端字符的索引值,如果不在则返回-1
s.index(x):返回字符串中出现x的最左端的索引值,如果不在则抛出valueError异常
s.isalpha () :测试是否全是字母,中文,都是字母则返回 True,否则返回 False.
s.isdigit () :测试是否全是数字,都是数字则返回 True 否则返回 False.
s.islower () :测试是否全是小写
s.isupper () :测试是否全是大写
s.lower () :将字符串转为小写
s.upper () :将字符串转为大写
s.replace (x,y) :子串替换,在字符串s中出现字符串x的任意位置都用y进行替换
s.split():返回一系列用空格分割的字符串列表
s.split(a,b):a,b为可选参数,a是将要分割的字符串,b是说明最多要分割几个
Python3基础知识之字符串的更多相关文章
- 学习Python3基础知识过程中总结
print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...
- Python3基础知识
1.查看关键字 Python3查看关键字要先导入模块keyword,然后运用keyword的属性kwlist获取 >>> import keyword>>> key ...
- Python3基础知识之数据结构List和Tuple
问题:今天学习python数据结构中的List和Tuple. 目标:了解二者的区别,学会一般的应用 相关知识:列表(List) : 类似于 .NET ArrayList / List.元组(Tuple ...
- Python3基础知识之日期时间与字符的转换
问题:“猿类”们都知道,编程中都会涉及到日期.时间类型与字符串类型的转换.不同场景,需要将字符串格式转换为日期类型:也需要将日期类型转换为字符串格式. 目标: 学习和积累python中time和dat ...
- java_基础知识_字符串练习题_计算两个字符串的最长公共字串长度
package tek; Java算法——求出两个字符串的最长公共字符串 /** * @Title: 问题:有两个字符串str1和str2,求出两个字符串中最长公共字符串. * @author 匹夫( ...
- PHP基础知识之字符串运算符
两个字符串相加用 . 运算符(类似于+),如$a="str1" . "str2";$b=$a . "str3";=>"str ...
- Oracle数据库基础知识_字符串操作相关2
6.LPAD,RPAD 作用:左/右边的字符串填充一些特定的字符语法: LPAD(string , n, [pad_String]) string:可是字符或者参数 ...
- java 基础知识六 字符串2
java 基础知识六 字符串2 1.String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法 . String 是不可变对象,也就是一旦创建,那么整 ...
- java 基础知识六 字符串1
java 基础知识六 字符串1 String 不是java的基本数据类型 String 不是java的基本数据类型 String 不是java的基本数据类型 字符串是是一个字符序列 1.创建 创建 ...
随机推荐
- 在macOS上通过pyenv安装和切换多版本Python
1. 安装homebrew 官网 http://brew.sh/index_zh-cn.html 打开终端,在终端中粘贴如下脚本 /usr/bin/ruby -e "$(curl -fsSL ...
- angular4.0 路由守卫详解
在企业应用中权限.复杂页多路由数据处理.进入与离开路由数据处理这些是非常常见的需求. 当希望用户离开一个正常编辑页时,要中断并提醒用户是否真的要离开时,如果在Angular中应该怎么做呢? 其实Ang ...
- jBPM学习之利用API完成流程实例
流程引擎对象ProcessEngine是jBPM4所有的Service API之源.在jBPM4中各种服务相互依存,但所有的Service API都从ProcessEngine中获得,由此可见Proc ...
- OLEDB数据源
title: OLEDB数据源 date: 2018-01-12 21:42:37 tags: [OLEDB, 数据库编程, VC++, 数据库] categories: windows 数据库编程 ...
- 数据结构4——浅谈DancingLinks的思想及应用
在学习DancingLinks之前,我们先来回顾一下我们以前学过的回溯法. 我们学习基础的回溯法的时候,我们都是先判断是否达到解,然后继续搜索. 对于搜到的下一个点,将他标记为使用过( vis[i]= ...
- (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- springboot(十七):使用Spring Boot上传文件
上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spring Boot上传文件的小案例. 1.pom包配置 我们使用Spring Boot最新版本1.5.9. ...
- SSM框架开发web项目系列(七) SpringMVC请求接收
前言 在上篇Spring MVC入门篇中,我们初步了解了Spring MVC开发的基本搭建过程,本文将针对实际开发过程的着重点Controller部分,将常用的知识点罗列出来,并配以示例.在这之前,我 ...
- Android基础_web通信3
在Android基础_web通信2中,我运用的JSONObject是Android原生的json类,通过import org.json.JSONObject来导入. 还有另外一种更简单的方法,就是用G ...
- 使用Android-PullToRefresh实现下拉刷新功能
源代码:https://github.com/chrisbanes/Android-PullToRefresh 一. 导入类库 将Library文件夹作为Android项目Import到Eclipse ...