# 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学习笔记(九)——字符串的更多相关文章

  1. Python学习笔记九

    Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...

  2. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  3. Python学习笔记3—字符串

    原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...

  4. 【Python学习笔记】字符串操作

    字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...

  5. python学习笔记(九)、模块

    1 模块 使用import 语句从外部导入模块信息,python提供了很大内置模块.当你导入模块时,你会发现其所在目录中,除源代码文件外,还新建了一个名为__pycache__的子目录(在较旧的Pyt ...

  6. Python学习笔记(3)-字符串

    创建字符串 一对单引号或双引号 >>> 'hello world' 'hello world' >>> "hello world" 'hello ...

  7. python学习笔记九——序列

    4.4 序列 序列是具有索引和切片能力的集合.元组.列表和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力,因此元组.列表和字符串都属于序列.序列索引功能演示: tuple=(&quo ...

  8. Python学习笔记九:装饰器,生成器,迭代器

    装饰器 本质是函数,装饰其他函数,为其他函数添加附加功能 原则: 1不修改原函数的源代码 2不修改原函数的调用方式 知识储备: 1函数即变量 使用门牌号的例子说明函数,调用方式与变量一致 2高阶函数 ...

  9. Python学习笔记:字符串

    字符串 字符串定义:字符串可以使用一对单引号.双引号或三引号来定义,即便是单个字符也会当做字符串来处理(Python中没有字符类型,单个字符也就是只有一个字符的字符串而已). 原始字符串:字符串中反斜 ...

  10. python学习笔记(一)---字符串与列表

    字符串的一些处理 字符串的大小写 name="lonmar hb" print(name.upper())#全大写 print(name.lower())#全小写 print(na ...

随机推荐

  1. esxi主机用命令行强行关闭通过前端界面无法关闭的ESXI虚拟机

    环境:esxi5.1-esxi6.5 背景:如果esxi下面某一台vm死机了,并且esxi的控制台卡死不能用,为了不影响同一个esx下其他的vm正常使用,那么我们只能用命令行来单独重启此vm,保证一定 ...

  2. C++中创建对象的时候加括号和不加括号的区别(转)

    c++创建对象的语法有----- 1 在栈上创建 MyClass a; 2 在堆上创建加括号 MyClass *a= new MyClass(); 3 不加括号 MyClass *a = new My ...

  3. node快速入门

    nodejs是一个方兴未艾的技术,近几年一直活跃在各大论坛.其实nodejs也只是新瓶装旧酒,只是它的一些激进的特性使她显得很神秘.nodejs使用的是JavaScript的语法,所以在学习nodej ...

  4. 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器

    一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...

  5. js——private 私有方法公有化

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. bootstrap 的 datetimepicker,同时有日期和时间, 且开始时间要早于结束时间

    首先,引入jquery, bootstrap 和 bootstrap-datetimepicker datetimepicker的下载地址: http://www.bootcss.com/p/boot ...

  7. Java数据结构----集合

    Java的集合可以分为两类, 第一类是以数组为代表,这类集合可以描述线性表类型的数据结构,以Collection为基类,其中自己用过或者了解的有 实现List接口的类:LinkedList,Array ...

  8. python 参数定义库argparse

    python 参数定义库argparse 这一块的官方文档在这里 注意到这个库是因为argparse在IDE中和在ipython notebook中使用是有差异的,习惯了再IDE里面用,转到ipyth ...

  9. 1251 client does not support

    1.mysql -uroot -p 123456        (用户root,密码123465) 2.use mysql: 3.ALTER USER 'root'@'localhost' IDENT ...

  10. SQL比较时间查询语句

    select * from table1 where datediff(mm,'2009-8-12 13:17:50', date)>0 select * from table1 select ...