python学习03
字符串的基本使用
1.字符编码集
ASCII编码:外国人常用的大小写英文字母、数字和一些符号,一共127个字符,用1个字节(byte)可以涵盖完,也就是8个位,它将序列中的每个字节理解为一个字符。
Unicode编码: Unicode把所有语言都统一到一套编码里,避免乱码的出现
Unicode用2-4个字节(最少2个字节), 好,乱码解决了,可是看看英文字母吧?
Unicode编码只是文字在内存中的内在形式 。
utf-8编码:utf-8把Unicode一分为二,可以用一个字节表示的还是用一个字节,不能表示的用多个字节表示,ok,解决了乱码问题,又节省了空间,妙啊!
gbk编码:中国人民制定了GBK(GB2312的扩展)编码,这是一种兼容ASCII的不定长。
2.编码与解码
encode(encoding):将unicode转换为bytes
decode(encoding):将bytes转换为unicode
记住:如果没有特殊业务要求,一般都设置为utf-8
a = 'hello world'
print(type(a))
print(a)
b = a.encode(encoding='utf-8')
print(b)
c = b.decode(encoding='utf-8')
print(c)
x = '我是ben'.encode(encoding='gbk')
print(x)
y = x.decode(encoding='gbk')
print(y)
3.字符串内置函数
ord('a') print 97
chr(97) print a
len() ,字符串的长度
4.字符串去空格和特殊符号
a_str='my name is ben '
去左右两边的空格和特殊字符,用strip()
左边的字符lstrip,右边的字符rstrip
b_str = ',ben.'
print(b_str.lstrip(','))
print(b_str.rstrip('.'))
a=" .@eric#! "
b=a.lstrip(' .@').rstrip('#! ')
print(b)
字符串的+和*以及替换
a_str = ‘b’
b_str = ‘en’
c_str = a_str + b_str
print(c_str)
print(c_str*4)
print((c_str + ‘q’)*3)
d_str = 'my name is ben'
e_str = d_str.replace('name', 'age')
print(d_str)
print(e_str)
print(d_str.replace('tom', 'jim'))
字符串的查找:index和find
index找到第一个索引值
字符串的比较
from operator import eq,lt,gt,le,ge
a_str = ‘ben’
b_str = ‘bom’
print(eq(a_str,b_str)) # =
print(lt(a_str,b_str)) # <
print(gt(a_str,b_str)) # >
print(le(a_str,b_str)) # <=
print(ge(a_str,b_str)) # >=
字符中也包括in not in
字符串的大小写转换 lower,upper
string.capitalize() 将字符串的第一个字母大写
string.count() 获取字符串中某个字符串的数目
string.find() 获得字符串中某一个字符串的起始位置,无则返回-1
string.islanum() 检测字符串是仅包括0-9A-Za-z
string.isalpha() 检测字符串是仅包括A-Za-z
string.isdigit() 检测字符串是仅包括数字
string.islower() 检测字符串是仅包括小写字母
string.isspace() 检测字符串所有字符是否均为空白字符
string.istitle() 检测字符串中的单词是否为首字母大写
string.isupper() 检测字符串是否均为大写字母
string.join() 连接字符串
string.lower() 将字符串全部转换为小写
string.split() 分割字符串
string.swapcase() 将字符串小写转换大写,将字符串大写转换小写。
string.title 将字符串中的单词首字符大写
string.upper() 将字符串全部转换为大写
len(string) 获取字符串长度
from string import capwords
print(capwords(‘my name is ben’)
print(‘my name is ben’.lower().title()) 两个打印结果一样
字符串的切片,分割
a='my name is tom'
a[::-1] 反转
a.split(,maxsplit=1) ,指定分割的次数
字符的拼接 join
' '.join('12')
字符串的对齐方式:
a_str = 'python'
print(a_str.ljust(10, '='))
print(a_str.rjust(20, '+'))
print(a_str.center(22, '0'))
字符串的判断操作:是判断字符串的某种状态或者属性
print(‘ben’.startwith(‘b’)) #判断是否以什么字符或者字符串开头
print(‘ben’.startwith(‘n’))
print(‘ben’.endwith(‘o’))
print(‘ben’.endwith(‘n’))
print(‘ben‘.endwith(‘en’)) #这里指定的不是字符,而是字符串
字符串的计算总共的个数count
右对齐方式
print('ben'.zfill(10))
举例说明:
" 180 0010 1101 " ,输出'18000101101'
num_1 = " 180 0010 1101 "
num_2 =(num_1.strip()).replace(' ','')
print(''.join(num_1.split()))
print(num_2)
str_1 = "hello,I'am tom。use python i can fly。"
str_2=(str_1.replace(',',',')).replace('。','.')
print(str_2)
num = str_2.index('.')
print(str_2[num::-1])
print(str_2[num+1:].capitalize())
python学习03的更多相关文章
- Python学习--03变量类型
变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...
- python学习03——设计,与input有关
笨办法学python第36节,我写的代码如下: from sys import exit def rule(): print "Congratulations! You made the r ...
- python学习03-数据类型
一.基本数据类型--数字 布尔型 bool型只有两个值:True和False 之所以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False. 以下是布尔值是False的各种情况: ...
- python学习 03 函数 (只会执行一次return就不会往下执行)
1.调用函数只会执行一次return,而且执行return后不会往下执行
- python学习03字符串基本操作
'''字符串可以用单引号,双引号,三引号表示 '''#1.读取str1='I am a student!'#每一个字符对应一个下标,可以利用下标的方式来读取字符串对应的值——索引print(str1[ ...
- Python 学习文章收藏
作者 标题 rollenholt Python修饰器的函数式编程 - Rollen Holt - 博客园 rollenholt python操作gmail - Rollen Holt - 博客园 ro ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
随机推荐
- vue SSR : 原理(一)
前言: 由于vue 单页面对seo搜索引擎不支持,vue官网给了一个解决方案是ssr服务端渲染来解决seo这个问题,最近看了很多关于ssr的文章, 决定总结下: 参考博客:从0开始,搭建Vue2.0的 ...
- phpstudy运行时出现没有安装VC库
系统默认的VC库是安装在C:\Program Files\Common Files\microsoft shared\VC的文件夹里,当运行PHP Study是出现如下的提示: 可以到下面的网站去下载 ...
- Spring Boot:The field file exceeds its maximum permitted size of 1048576 bytes
错误信息:The field file exceeds its maximum permitted size of 1048576 bytes原因是因为SpringBoot内嵌tomcat默认所能上传 ...
- 全文搜索引擎 ElasticSearch 还是 Solr?
最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务 ...
- ORM框架的前世今生
目录 一.ORM简介二.ORM的工作原理三.ORM的优缺点四.常见的ORM框架 一.ORM简介 ORM(Object Relational Mapping)对象关系映射,一般指持久化数据和实体对象的映 ...
- mariadb集群配置(主从和多主)
mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...
- JShell脚本工具
JShell脚本工具是JDK9的新特性 什么时候会用到 JShell 工具呢,当我们编写的代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell工具.启动 ...
- Day6 Numerical simulation of optical wave propagation之通过随机介质(如大气湍流)的传播(二)
2.蒙特卡洛相位屏 大气折射率变化是一个随机的过程,通过大气的光程长度也同样是随机的.因此,湍流模型仅给出统计平均值,如折射率变量的结构函数和功率谱. 建立大气相位屏的问题就是产生随机过程独立表达式的 ...
- js中“==”与“===”区别
直接上代码 if(2==='2'){ console.log(true) }else{ console.log(false) } //打印结果 false if(2=='2'){ console.lo ...
- js01-javascript语法标准和数据类型
语法规则 (1)JavaScript对换行.缩进.空格不敏感. 备注:每一条语句末尾要加上分号,虽然分号不是必须加的,但是为了程序今后要压缩,如果不加分号,压缩之后将不能运行. (2)所有的符号,都是 ...