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.创建 创建 ...
随机推荐
- redis 写入的时候报错
redis 写入报错 1)报错内容 Exception in thread "main" redis.clients.jedis.exceptions.JedisDataExcep ...
- Ubuntu 16.04 LTS运行robo3t报错
系统环境:Ubuntu 16.04 LTS. 安装robomongo Robo 3T,运行时报以下错误: jaxu@jaxu-ubuntu:/usr/local/share/robo3t--linux ...
- 设计模式成长记(一) 抽象工厂模式(Abstract Factory)
目录 定义 UML类图 参与者 编写代码 特点 定义 提供一个创建一系列相关或相互依赖的对象的接口,而无需指定具体的类. 使用频率: UML类图 参与者 AbstractFactory:声明一个创建抽 ...
- AFN中请求序列化的设置
最近遇到一个需求:要求从客户端传到服务器的参数是json字符串,于是我本能的用pod装了afn然后进行了request和response Serialization的相关设置 AFHTTPSessio ...
- python3之socket&socketserver网络编程
1.套接字与套接模块 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了 ...
- windows 驱动开发入门——驱动中的数据结构
最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书--<独钓寒江 windows安全编程> 和 <windows驱动 ...
- python基础之实现sql增删改查
# encoding:utf-8 # Author:"richie" # Date:2017/8/2 import re key_l = ['id', 'name', 'age', ...
- [Link-Cut-Tree]【学习笔记】
可以按照<Utopiosphere>的调唱出来 “Link-Cut ,Time doesn’t stop .Prepare your doubts ,Eat them up” 参考资料: ...
- 基本命令行操作1(java编译)
1. 设置环境变量,具体:https://www.cnblogs.com/shinge/p/5500002.html "cd + 文件名" 可进入指定文件,"cd..&q ...
- deeplearning.ai 改善深层神经网络 week1 深度学习的实用层面 听课笔记
1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数. 2. 数据集分成训练集(training set).验证集(validation/develop ...