(5)python 字符串和输入输出
一、字符串转义
字符串可以包含任何字符可以用单引号也可以用双引号
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 字符串和输入输出的更多相关文章
- [转] 强大的python字符串解析
1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...'' ...
- python字符串格式化 %操作符 {}操作符---总结
Python字符串格式化 (%占位操作符) 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作 %. 模板 格式化字 ...
- Python基础-输入输出(IO)
Python基础-输入输出(IO) 程序会有输入和输出,输入可以从标准输入或是从一个文件读入数据,程序的输出可以以一种友好可读的方式(human-readable)打印出来,或是写进一个文件,而标准输 ...
- python入门8 输入输出
输入 input() 输出 print() #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 输入输出 & ...
- 关于python字符串连接的操作
python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...
- 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 ...
- Python 字符串
Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/py ...
- python字符串方法的简单使用
学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >& ...
- python字符串基础知识
1.python字符串可以用"aaa",'aaa',"""aaa""这三种方式来表示 2.python中的转义字符串为" ...
随机推荐
- spring笔记(一)
1. 回顾 Struts与Hibernate可以做什么事? Struts, Mvc中控制层解决方案 可以进行请求数据自动封装.类型转换.文件上传.效验… Hibernate, 持久层的解决方案: 可以 ...
- 【bzoj4129】Haruna’s Breakfast 带修改树上莫队+分块
题目描述 给出一棵树,点有点权.支持两种操作:修改一个点的点权,查询链上mex. 输入 第一行包括两个整数n,m,代表树上的结点数(标号为1~n)和操作数.第二行包括n个整数a1...an,代表每个结 ...
- [洛谷P1278]单词游戏
题目大意:给一个有$n(n\leqslant16)$个单词的字典,求单词接龙的最大长度 题解:发现$n$很小,可以状压,令$f_{i,j}$表示选的数的状态为$i$,最后一个字母是$j$的最大长度. ...
- 【NOIP 模拟赛】Evensgn 剪树枝 树形dp
由于树规做的少所以即使我考试想出来正确的状态也不会转移. 一般dp的转移不那么繁杂(除了插头.....),即使多那也是清晰明了的,而且按照树规的一般思路,我们是从下到上的,所以我们要尽量简洁地从儿子那 ...
- [COGS 1535] [ZJOI2004]树的果实 树状数组+桶
我们用树状数组做差就可以解决一切问题,我用桶排并用此来表示出第几大就可以直接求前缀和了 #include<cstdio> #include<algorithm> #define ...
- RTL2832U+R820T电视棒windows下安装sdr# 以及搭建ADS-B使用VirtualRadar看飞机的教程
本文中提到的软件随后我会打包给出下载地址.这篇文章是我根据网上的教程和自己的经验修改的详细版本,为了方便入门新手.先来说说RTL2832U+R820T在windows下安装sdr#的方法.首先科普下s ...
- 前缀统计 [Trie]
前缀统计 描述 给定N个字符串S1,S2...SN,接下来进行M次询问,每次询问给定一个字符串T,求S1-SN中有多少个字符串是T的前缀.输入字符串的总长度不超过10^6,仅包含小写字母. 输入格式 ...
- [fzu 2271]不改变任意两点最短路至多删的边数
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2271 题目中说每条边的边权都是[1,10]之间的整数,这个条件非常关键!以后一定要好好读题啊…… 做10次循环 ...
- There is an overlap in the region chain
ERROR: (regions day_hotstatic,860010-2355010000_20140417_12_entry_00000000321,1398674475358.0dc20573 ...
- 记录一发wm_concat()函数排序的问题
需求:需要将列转行之后的工序按照待执行工序号排序,如果一样按工序号排 解决方法如下: select part_no, max(ywggx) ywggx from(select mt.part_no , ...