Python学习笔记(九)——字符串
# 5.1 字符串的拼接
str1 = '我今天一共走了'
num = 1280
str2 = '步'
print(str1+str(num)+str2)
# 计算字符串长度
print(len(str1))
# 5.2 字符串截取
str3 = 'abcdefgh'
substr1 = str3[2]
substr2 = str3[1:3]
substr3 = str3[:3]
substr3 = str3[1:]
print(substr1+'\n'+substr2+'\n'+substr3)
# 5.3 分割字符串
str4 = '小 菜 鸡 要 加 油'
list4 = str4.split(' ')
print('原字符串:' + str4)
print('分割字符串:' + str(list4))
# 5.4 合并字符串
list5 = ['马云','扎克伯格','马化腾']
str_friend = ' @'.join(list5)
strnew = '@'+str_friend
print('你要@的好友:',strnew)
# 5.5 检索字符串
str6_1 = '@小菜鸡 @小菜鸟'
print(str6_1.count('@')) #指定字符串在另一个字符串出现的次数
print(str6_1.find('@')) #返回子字符串首次出现位置,若不存在返回-1
print(str6_1.index('@')) #与find类似,若子字符串不存在则会抛出异常
print(str6_1.startswith('@')) #是否以子字符串开头
print(str6_1.endswith('@')) #是否以子字符串结尾
# 5.6 字母大小写转换
str7 = 'abCdEfG'
print(str7.upper()) #将小写字母转化为大写字母
print(str7.lower()) #将大写字母转化为小写字母
# 例题:不分大小写验证会员名是否唯一
username_1 = '|MingRi|mingrisoft|Bat|'
username_2 = username_1.lower()
regname_1 = input('请输入要注册的名字')
regname_2 = '|'+regname_1+'|'
if regname_2 in username_2:
print(regname_1,'已经被注册,请重新注册')
else:
print(regname_1+',恭喜您,注册成功')
# 5.7 去除空格和特殊字符
str8_1 = ' @小菜鸡 @小菜鸟 '
print(str8_1.strip('@')) #srtip中可以设置多个字符,若不设置字符,默认去除左右的空格、制表符和回车、换行
print(str8_1.strip()) #去除左右的空格和特殊字符
print(str8_1.lstrip()) #去除左侧空格和特殊字符
print(str8_1.rstrip()) #去除右侧空格和特殊字符
# 5.8 格式化字符串
#使用%占位符
template = '编号:%09d 公司名称: %s 官网: http://www.%s.com'
context1 = (7,'百度','baidu')
context2 = (8,'微软','mingrisoft')
print(template%context1)
print(template%context2)
#使用format()方法
# str.format(args)
# {[index][:[[fill]align][sign][#][width][.precision][type]]}
# index 表示设置格式对象在参数列表中的索引位置
# fill 指定空白处的填充字符
# align 指定对齐方式 >表示右对齐;<表示左对齐;=表示内容右对齐,符号放在左侧且只对数字类型有效;^表示内容居中,配合width使用
# sign 指定有无符号数
# #对于二进制、八进制、十六进制会显示前缀
# width 指定所占宽度
# .precision 指定保留小数位数
# type指定类型
template = '编号:{:0>9} 公司名称:{:s} 官网: http://www.{:s}.com'
context3 = template.format(7,'百度','baidu')
context4 = template.format(8,'微软','mingrisoft')
print(context3,'context3')
print(context4,'context4')
# 5.9 字符串编码转换
#encode()编码 将字符串转化为二进制
#str.encode([encoding = "utf-8"][,errors = "strict"])
verse = "小菜鸡要加油"
verse_change = verse.encode('GBK') #可选参数为gb2312(简体中文),默认utf-8
print('原字符:',verse)
print('转换字符:',verse_change)
#decode()解码
#bytes.decode([encoding="utf-8"][,errors="strict"])
print("解码:",verse_change.decode("gb2312"))
Python学习笔记(九)——字符串的更多相关文章
- Python学习笔记九
Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- Python学习笔记3—字符串
原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...
- 【Python学习笔记】字符串操作
字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...
- python学习笔记(九)、模块
1 模块 使用import 语句从外部导入模块信息,python提供了很大内置模块.当你导入模块时,你会发现其所在目录中,除源代码文件外,还新建了一个名为__pycache__的子目录(在较旧的Pyt ...
- Python学习笔记(3)-字符串
创建字符串 一对单引号或双引号 >>> 'hello world' 'hello world' >>> "hello world" 'hello ...
- python学习笔记九——序列
4.4 序列 序列是具有索引和切片能力的集合.元组.列表和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力,因此元组.列表和字符串都属于序列.序列索引功能演示: tuple=(&quo ...
- Python学习笔记九:装饰器,生成器,迭代器
装饰器 本质是函数,装饰其他函数,为其他函数添加附加功能 原则: 1不修改原函数的源代码 2不修改原函数的调用方式 知识储备: 1函数即变量 使用门牌号的例子说明函数,调用方式与变量一致 2高阶函数 ...
- Python学习笔记:字符串
字符串 字符串定义:字符串可以使用一对单引号.双引号或三引号来定义,即便是单个字符也会当做字符串来处理(Python中没有字符类型,单个字符也就是只有一个字符的字符串而已). 原始字符串:字符串中反斜 ...
- python学习笔记(一)---字符串与列表
字符串的一些处理 字符串的大小写 name="lonmar hb" print(name.upper())#全大写 print(name.lower())#全小写 print(na ...
随机推荐
- myeclipse中出现The method xxx of type must override or implement a supertype
出现问题提示:The method xxx of type must override or implement a supertype? annotation:@Override的原因 查阅了一下资 ...
- 学习记录:@Transactional 事务不生效
测试时使用spring boot2.2.0,在主类中调用,@Transactional 不起作用,原代码如下: @SpringBootApplication @Slf4j @Component pub ...
- 【Luogu】【关卡2-14】 树形数据结构(2017年10月)【AK】
任务说明:由一个根节点分叉,越分越多,就成了树.树可以表示数据之间的从属关系 P1087 FBI树 给一个01字符串,0对应B,1对应I,F对应既有0子节点又有1子节点的根节点,输出这棵树的后序遍历. ...
- linux给用户赋予root权限
1.到/etc目录下 2.使用 vi sudoers 3.将username添加到sudoers
- 批量更新数据(BatchUpdate)
批量更新数据(BatchUpdate) /// <summary> /// 批量更新数据,注意:如果有timestamp列,要移除 /// </summary> /// < ...
- 批量新增数据(BuckCopy)
批量新增数据(BuckCopy) 使用webService传输数据时要注意,Datatable中的数据类型,以及科学计数 /// <summary> /// 批量新增数据 /// < ...
- Array排序和List排序
public class SortTest { public static void main(String[] args) { int arr[]={12,4,45,23,5,7,9,33}; Sy ...
- JZOI1062 【USACO2013JAN】invite
#include <bits/stdc++.h> #define ll long long #define INF 2147483647 #define ll_INF 9223372036 ...
- ssm+mysql 时间显示相差了12小时的问题 Gson
怎么改时区,连接字符串加时区都无效,后来才发现原来返回的是对的,并不是时区问题. 后来感觉是gson问题,关键是在其他数据表并没有这个问题. 把 gson改成 Gson gson = new Gson ...
- mail----java发送普通邮件
package com.mail; import java.io.UnsupportedEncodingException; import java.util.Date; import java.ut ...