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. Selectize使用总结

    一.简介 Selectize是一个可扩展的基于jQuery 的自定义下拉框的UI控件.它对展示标签.联系人列表.国家选择器等比较有用.它的大小在~ 7kb(gzip压缩)左右.提供一个可靠且体验良好的 ...

  2. linux系统常见压缩命令

    在linux环境中,压缩文件的扩展名基本是:*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2 *.Z compress程序压缩的文件 *.gz gzip程序压缩的文件 *.bz2 ...

  3. k8s 核心功能 - 每天5分钟玩转 Docker 容器技术(116)

    本节带领大家快速体验 k8s 的核心功能:应用部署.访问.Scale Up/Down 以及滚动更新. 部署应用 执行命令: kubectl run kubernetes-bootcamp \ --im ...

  4. mysql commit 和 rollback

    转自:http://blog.csdn.net/ying_593254979/article/details/12134629 SQL 语言类型 从功能上划分,SQL 语言可以分为DDL,DML和DC ...

  5. python模块安装报错 :error: command 'gcc' failed with exit status 1

    参考:http://blog.csdn.net/fenglifeng1987/article/details/38057193 解决方法 yum install gcc libffi-devel py ...

  6. 关于linux下的date日期,并以日期给文件命名

    在linux的终端中,我们输入date后会有以下显示: 然后博主也扩展了一下date的基础用法: date + "%-": %y 输出年份的后2位:%Y 输出完整年份 %m 输出月 ...

  7. 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)

    Flume支持众多的source和sink类型,详细手册可参考官方文档,更多source和sink组件 http://flume.apache.org/FlumeUserGuide.html Flum ...

  8. socket之解决粘包方法

    low方法 import socket,subprocess ip_port=('127.0.0.1',8080) s=socket.socket(socket.AF_INET,socket.SOCK ...

  9. 【状压DP】poj3254 Corn Fields

    题意: 一块n*m的田,1表示这个地方可以种植,0代表这个地方不能种植.植物种植还必须满足两株植物不能相邻(横竖都不行).问共有几种种植方法,而且当什么都不种时认为是一种方法. 解题思路: 种植用1表 ...

  10. windows编程学习笔记(三)ListBox的使用方法

    ListBox是Windows中的一种控件,一般被当做子窗口使用,Windows中所有子窗口都是通过发送一个通知码到父窗口父窗口通过WM_COMMAND消息接收,并在此消息中处理,并控制子窗口,Lis ...