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基础知识之字符串的更多相关文章

  1. 学习Python3基础知识过程中总结

    print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...

  2. Python3基础知识

    1.查看关键字 Python3查看关键字要先导入模块keyword,然后运用keyword的属性kwlist获取 >>> import keyword>>> key ...

  3. Python3基础知识之数据结构List和Tuple

    问题:今天学习python数据结构中的List和Tuple. 目标:了解二者的区别,学会一般的应用 相关知识:列表(List) : 类似于 .NET ArrayList / List.元组(Tuple ...

  4. Python3基础知识之日期时间与字符的转换

    问题:“猿类”们都知道,编程中都会涉及到日期.时间类型与字符串类型的转换.不同场景,需要将字符串格式转换为日期类型:也需要将日期类型转换为字符串格式. 目标: 学习和积累python中time和dat ...

  5. java_基础知识_字符串练习题_计算两个字符串的最长公共字串长度

    package tek; Java算法——求出两个字符串的最长公共字符串 /** * @Title: 问题:有两个字符串str1和str2,求出两个字符串中最长公共字符串. * @author 匹夫( ...

  6. PHP基础知识之字符串运算符

    两个字符串相加用 . 运算符(类似于+),如$a="str1" . "str2";$b=$a . "str3";=>"str ...

  7. Oracle数据库基础知识_字符串操作相关2

    6.LPAD,RPAD 作用:左/右边的字符串填充一些特定的字符语法: LPAD(string , n, [pad_String])          string:可是字符或者参数          ...

  8. java 基础知识六 字符串2

    java  基础知识六  字符串2 1.String类是final类,也即意味着String类不能被继承,并且它的成员方法都默认为final方法 . String 是不可变对象,也就是一旦创建,那么整 ...

  9. java 基础知识六 字符串1

    java  基础知识六  字符串1 String 不是java的基本数据类型 String 不是java的基本数据类型 String 不是java的基本数据类型 字符串是是一个字符序列 1.创建 创建 ...

随机推荐

  1. 每天学一点Docker(1)

    Docker能做些什么? 1.docker能够解决虚拟机能够解决的问题 2.隔离应用依赖 3.创建应用镜像并复制 4.创建容易分发的即启即用的应用 5.docker的想法是创建软件程序可移植的轻量容器 ...

  2. strace命令详解

    转自: http://www.cnblogs.com/ahuo/p/4150623.html 备注: 这篇博文学到的不仅仅是 strace 这个命令,还有前辈的排错思路,致敬! strace 命令是一 ...

  3. 理解css伪类和伪元素

    伪类就是可以通过直接添加一个类样式达到同等效果,而伪元素,则需要先添加一个元素,然后在元素上添加样式才能达到同等效果 伪类 :active 向被激活的元素添加样式. :focus 向拥有键盘输入焦点的 ...

  4. ul li内的文字水平居中显示

    head><style rel="stylesheet" type="text/css" >#top{height:140px;}#top u ...

  5. python3之递归

    1.递归的特点 递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是十分,它往往使算法的描述简洁而且易于理解. 递归算法解决问题的特点: (1)递归就是在过程或函数里 ...

  6. slave延迟很大优化方法

    一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在slave上,复制 ...

  7. SLAM入门之视觉里程计(5):单应矩阵

    在之前的博文OpenCV,计算两幅图像的单应矩阵,介绍调用OpenCV中的函数,通过4对对应的点的坐标计算两个图像之间单应矩阵\(H\),然后调用射影变换函数,将一幅图像变换到另一幅图像的视角中.当时 ...

  8. 手把手教你构建 Kubernetes 1.8 + Flannel 网络(一)

    一.环境说明 操作系统:CentOS7 Kubernetes版本:v1.8.4 Docker版本:v17.06-ce Flannel 版本: flannel-v0.9.1 二.Ntp 服务器配置   ...

  9. 2017年 JavaScript 框架回顾 -- 前端框架

    概述: 对于 JavaScript 社区来说,npm 的主要功能之一就是帮助开发者发掘所需的 npm Registry 中的库和框架.npm 强大的搜索功能能够帮助找到一组相关的软件包,同时其内置的的 ...

  10. 知乎上看到的关于类.class,对象.getClass

    public class TestDemo { //测试 @Test public void fun01() { TestDemo q=new TestDemo(); A a = new A(); q ...