一、字符串转义

字符串可以包含任何字符可以用单引号也可以用双引号

 a='hello'
a="hello"

如果字符串中存在单引号,可以用双引号里包含单引号的方式

a="I'm ..."

反之

a='"hello!", tom said'

还可以使用转义字符串 \

a='I\'m is..'

二、拼接字符串

拼接字符串

1.用加号进行连接

2.依次输入两个字符串,会自动拼接

3.多行语句

(1)Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:

total = 'abc' + \
'def' + \
'lmn'

(2)在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:

total = ['a', 'b', 'c',
'd', 'e'] 

4.字符串与数字拼接

先用内置函数str()把数字转成字符

5.长字符串

使用两对 三引号

a='''你好
今年天气不错'''
print(a)

也可以原样输出单引号和双引号,转义字符可以发挥转义效果。

6.原样输出字符串 r''

使转义功能失效,原样输出字符

 三、格式化字符串

指定要设置其格式的值时,可使用单个值(如字符串或数字),可使用元组(如果要设置多个值的格式),还可使用字典

最常用的是元组

1.使用类似C语言的格式化

%s是转换说明符, s代表字符串,如果值不是字符串,将会把其转成字符串

>>> format="hello, %s ni %s"
>>> values=('world','hao')
>>> format%values
'hello, world ni hao'

%.3f的意思是包含三位小数的浮点数,多于三位将舍去

>>> a='%.3f'
>>> b=1.888
>>> a%b
'1.888'
>>> c='%.3f'
>>> d=1.8888
>>> a%b
'1.888'

2.快捷方法f

直接输出变量名

>>> a=30
>>> f"wide is {a}"
'wide is 30'

3.使用字符串方法format

需要按顺序

>>> "Hello,{} ni {}".format("world","hao")
'Hello,world ni hao'

无需按顺序

>>> "Hello,{1} ni {0}".format("hao","world")
'Hello,world ni hao'

自定义

>>> "{name} is {value:.2f}.".format(value=1.666, name="wide")
'wide is 1.67.'

4.模板字符串。类似于UNIX shell的语法

>>> from string import Template
>>> str1 = Template("Hello, $who ni $what ?")
>>> str1.substitute(who="ni", what="hao")
'Hello, ni ni hao ?'

四、截取字符串

print str[0:3] #截取第一位到第三位的字符

print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,具体啥意思没搞明白?

五、字节、字符串互转

1.字符串转字节

调用 bytes方法将字符串转成字节

或者用字符串内置方法encode

2.字节转成字符串

七、字符串常用方法

常用方法

1.center()

在字符串两端添加字符,一个参数时,默认添加空格。参数1是总的长度,为单数时优先在字符串左侧添加。

参数2指定要填充的字符(只能是一个字符)

>>> 'ni hao'.center(20,'*')
'*******ni hao*******'

2、find方法

>>> 'haabcmenabc '.find('abc')
2

如果找到返回子串所在位置的最左端索引,如果未找到返回-1

3、join方法

>>> str1 = ['', '', '', '', '']
>>> str2='a'
>>> str2.join(str1)
'1a2a3a4a5'

用str2把str1连接起来,str1和str2必须都是字符串

4.lower ()

变成小写

>>> 'AbC'.lower()
'abc'

5.replace()

方法replace将指定子串都替换为另一个字符串,并返回替换后的结果

>>> 'This is a test'.replace('is', 'eez')
'Theez eez a test'

6.split ()

其作用与join相反,用于将字符串拆分为序列

如果没有指定分隔符,将默认在单个或多个连续的空白字符(空格、制表符、换行符
等)处进行拆分

>>> '1+2+3+4+5'.split('+')
['', '', '', '', '']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'Using the default'.split()
['Using', 'the', 'default']

7.strip()

方法strip将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果。

>>> '  abc  '.strip()
'abc'

八、获取用户输入

input()函数

input默认得到字符串,需要转成int类型

input 和 raw_input

1、raw_input会把所有输入的类型全部转成字符串类型。

2、input 可以输入数字或字符串。输入数字会得到对应的整数类型和小数类型。输入字符串时要加引号否则会报错

九、print打印

连续打印多个表达式 ,用逗号隔开

打印一个带逗号的字符串

自定义分隔符, seq

>>> print('a','b','c','d',sep='*')
a*b*c*d

自定义结束字符串,end

>>> print('a','b');print('c');
a b
c
>>> print('a','b',end='!');print('c');
a b!c

(5)python 字符串和输入输出的更多相关文章

  1. [转] 强大的python字符串解析

    1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...'' ...

  2. python字符串格式化 %操作符 {}操作符---总结

    Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作 %. 模板 格式化字 ...

  3. Python基础-输入输出(IO)

    Python基础-输入输出(IO) 程序会有输入和输出,输入可以从标准输入或是从一个文件读入数据,程序的输出可以以一种友好可读的方式(human-readable)打印出来,或是写进一个文件,而标准输 ...

  4. python入门8 输入输出

    输入 input() 输出 print() #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 输入输出 & ...

  5. 关于python字符串连接的操作

    python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...

  6. StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?

    StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...

  7. Python 字符串

    Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/py ...

  8. python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >& ...

  9. python字符串基础知识

    1.python字符串可以用"aaa",'aaa',"""aaa""这三种方式来表示 2.python中的转义字符串为" ...

随机推荐

  1. 【bzoj1018】[SHOI2008]堵塞的交通traffic 线段树区间合并+STL-set

    题目描述 给出一张2*n的网格图,初始每条边都是不连通的.多次改变一条边的连通性或询问两个点是否连通. 输入 第一行只有一个整数C,表示网格的列数.接下来若干行,每行为一条交通信息,以单独的一行“Ex ...

  2. ASP.NET页面之间传值Server.Transfer(4)

    这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效. Serve ...

  3. JDBC连接数据库的过程

    以连接MySQL为例: (1)加载MySQL数据库连接的驱动程序.到MySQL官网下载该驱动程序jar包,然后把包复制到WEB-INF/lib目录下,则JDBC会调用Class.forName()方法 ...

  4. 【题解】JLOI2013卡牌游戏

    这题最开始是用 \(n^{4}\)的算法水过的,之后才想出的\(n^{3}\)正解.首先,\(n^{4}\) 应该是很容易想到的:设状态 \(f[i][j][k]\) 为有 \(i\) 个人,庄家为 ...

  5. 【题解】NOI2014购票

    实际上是一个不完美算法……cogs上面A不掉(爆栈啦).感谢机房大佬PPY的指点,现在也写出来供大家参考参考,理解起来应该是比较简单的一种. 我们首先get出斜率优化方程: \(dp[v] = dis ...

  6. 【题解】HAOI2008硬币购物

    1A什么的实在是太开心啦~~洛谷P1450 这道题目主要是考察对于容斥原理的掌握. 首先,注意到如果不存在有关硬币数量的限制而单纯询问方案的总数,就是一个简单的完全背包.这个思路提醒我们:如果能够求出 ...

  7. [51nod1791] 合法括号子段 DP

    ---题面--- 题解: 首先我们需要发现一个性质,在括号序列不变的情况下,括号匹配是不会变的,因此不论子串怎么取,括号匹配的关系是不会变化的.这是一个很容易发现的性质,然而我太弱,没发现. 于是可以 ...

  8. [WC2007]剪刀石头布——费用流

    比较有思维含量的一道题 题意:给混合完全图定向(定向为竞赛图)使得有最多的三元环 三元环条件要求比较高,还不容易分开处理. 正难则反 考虑,什么情况下,三元组不是三元环 一定是一个点有2个入度,一个点 ...

  9. 解决Vue方法中setTimeout改变变量的值无效

    把data里的变量继承过来重新封装一下 let that = this; this.rightAnswer = false; setTimeout(function() { that.rightAns ...

  10. 【洛谷 P3304】[SDOI2013]直径(树的直径)

    题目链接 题意,求一棵树被所有直径经过的边的条数. 这题是我们8.25KS图论的最后一题,当时我果断打了暴力求所有直径然后树上差分统计的方法,好像有点小问题,boom0了. 考完改这题,改了好久,各种 ...