Python3 学习第二弹: 字符串String
字符串表示问题
常见用法 '' 与 "" 就不提了 一些特殊用法
三引号:接收多行字符串的输入
>>>print('''Oh
my God!''')
Oh
my God!
三引号可以用来
当然直接利用\n也可以表示换行 反斜杠的运用:可以用来连接多行的语句
>>>print("Oh \
my God!")
Oh my God!
>>>1 + 2 + \
4 + 5
12 关于路径用法:
看一个例子:
>>>path = 'C:\nabs'
>>>path
C:\nabs
>>>print(path)
C:
abs
值得注意的是,在idle(python shell)下的输出与print输出不一定相同
因此可以看出path字符串并不是其真正路径,需要转义
>>>print('C:\\nabs')
C:\nabs
然而这样却是要加入很多双反斜杠,解决方法就是在字符串前加一个r,告诉解释器这是一个raw string,转义字符失效
>>>print(r'C:\nabs')
C:\nabs
此外,python3的所有字符串都是unicode编码 若需要输出ASCII编码String,可在字符串前面加 b'hello world'
字符串格式化问题
通过%来格式化字符串:
>>>print("%10.2f" % 10.2)
10.20
解释:
%: 表示说明符的开始
转换符号 -/+/0: -表示左对齐 +表示数字前加正负号 0表示转换后位数不够的位置用0填充
最小字段宽度: 表示“整个”字符串的长度最少要有指定这么宽
点.后表示精度值: 四舍五入
转换类型: 与C++类似
>>>print('%+010.2f' % 10.2)
+000010.20
>>>print('%*.*f' % (10,2,10.2)) #特殊用法,用*表示字段宽度或精度可以从元组参数中读取
10.20 ADD:
此外string模板还提供另一种格式化方法,模板字符串,类似于Unix中shell的变量替换
>>>from string import Template
>>>format = Template('Does $x love $y?')
>>>format.substitute(x = 'cyl', y = 'lwt')
'Does cyl love lwt?'
其中x,y变量名可以任取,但是substitute时变量名必须都有参数,否则报错
字符串常量
string中有许多有用的字符串常量
>>>import string
>>>string.digits
0123456789
同理还有, letters,ascii_lowercase,ascii_uppercase,punctuation
均为字面意思
字符串方法
(注意其中[]表示可选项的意思,python文档经常这样书写)
简要叙述一下,均是比较简单易懂的
1> s.find(substring[, start[, end]]) 查找字串
2> s.join(seq) 用s作为分隔符来合并列表元素为整体字符串
>>>seq = ['', '', '']
>>>'+'.join(seq) #要注意seq规定必须是字符串的列表才可
'1+2+3'
3> s.lower() s.upper() 返回s的小写表示/大写表示
4> s.replace(old, new) 返回s中old子串用new字串代替的字符串
5> s.split(a) 以s中的a字串为分隔符获得各分割串的列表(join的反方法)
>>>'1+2+3'.split('+')
['','','']
6> s.strip() 返回去除s两侧空格的字符串 Add:
7> tanslate()
用于替换字符串中的单个字符
首先需要制表
>>> trans = str.maketrans('koe','mqg')
{107: 109, 101: 103, 111: 113}
>>> 'abkeompq'.translate(trans)
'abmgqmpq'
Python3 学习第二弹: 字符串String的更多相关文章
- Python3 学习第一弹:基本数据类型
本人学习主要从<python基础教程第二版>,<dive into python3>等书籍,及一些网上大牛的博客中学习特别是Python官方文档<Python Tutor ...
- 前端学习 第二弹: JavaScript中的一些函数与对象(1)
前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...
- Python学习-第二天-字符串和常用数据结构
Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...
- Redis学习03——存储字符串(String)
--------------------- 作者:愤怒的小明 来源:CSDN 原文:https://blog.csdn.net/qiwenmingshiwo/article/details/78118 ...
- <CPP学习 第二天> 字符串的输入 及 String类
今天简单的学习了字符串的输入以及C++的String类. 1.面向行的输入: getline(); getline()函数读取整行,通过回车键输入的换行符来确定输入结尾.要调用这种方法,可以使用cin ...
- Java高精度学习第二弹——求N!
继续学习Java高精度,今天写的是求N!. 首先附上源代码: import java.util.Scanner; import java.math.BigInteger; public class M ...
- python3学习笔记之字符串
字符串 1.一个个字符组成的有序的序列,是字符的集合: 2.使用单引号.双引号.三引号引住的字符序列 3.字符串是不可变对象 4.python3起,字符串就是Unicode类型: 字符串特殊举例: 不 ...
- shell学习第二弹-进阶
1.linux系统中配置文件执行顺序 1)用户登录系统,首页调用/etc/profile文件初始化所有bash用户的默认特征 2)然后shell依次查找~/.bash_profile,~/.bash_ ...
- python学习第二天--字符串及格式化输出
# 字符串# 字符串取值:字符串名[索引值] 只能取单个值# 正序访问,从0开始str1 = "hello world"print(str1[3]) # 输出"l&quo ...
随机推荐
- Wireshark技巧-过滤规则和显示规则
Wireshark是一个强大的网络协议分析软件,最重要的它是免费软件. 过滤规则 只抓取符合条件的包,在Wireshark通过winpacp抓包时可以过滤掉不符合条件的包,提高我们的分析效率. 如果要 ...
- 移动端material风格日期时间选择器
原文 好多时候在移动端需要一个的日期选择器,由于在应用上有可能应用各种框架库(Vue.js, React.js, zepto.js等):所以说一个无依赖的,这样易于上层进行封装.直接开门见山,先来张动 ...
- Intellij IDEA14 下添加ExtJS提示支持
前言: 虽然Interlij IDEA比起Eclipse对待EXT更为支持,但自己上手后总不能达到Intellij 开发ExtJS 应用指南(http://blog.csdn.net/s4640368 ...
- 能"干掉"苹果的中国"黑客"
他是全球发现苹果漏洞最多的人,他曾穷的住在小黑屋,他经常接到国家安全部门的电话,他差点堵住周鸿祎的路,他是谁? 无名英雄 我们最终还是没有见到吴石本人,即便他的生意合伙人刘盛(化名)已经应承了帮我们牵 ...
- tornado解析http body的过程分析
tornado解析http body的过程分析 在最近写的一个RESTful API Server过程中,发现tornaod对解析POST BODY的内容有限制. 而在以前用web.py则没有这个限制 ...
- 关于去哪儿网的UI自动化测试脚本(Python实现)
UI自动化测试Qunar机票搜索场景访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发.到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索 ...
- 深入浅出ES6(五):不定参数和默认参数
作者 Jason Orendorff github主页 https://github.com/jorendorff 不定参数 我们通常使用可变参函数来构造API,可变参函数可接受任意数量的参数.例 ...
- Android 打开闪光灯(手电筒)
package com.example.openBackLight; import android.app.Activity; import android.hardware.Camera; impo ...
- Java 网络编程 字符流的发送与接收 自定义数据边界
在网络编程中,客户端调用了flush方法,就会将缓存在字符流中的文本发送给服务器,服务器该怎样判断客户端发送的文本已经结束了呢? 我们先看一个例子: 客户端: import java.io.IOExc ...
- cojs 疯狂的魔法树 疯狂的颜色序列 题解报告
疯狂的魔法树 一个各种操作大杂烩的鬼畜数据结构题目 首先我们注意到树的形态是半随机的 我们可以树分块,对树分成若干个块 对于每个块我们维护一个add标记表示增量 维护一个vis标记表示覆盖量 注意标记 ...