笔记五:python字符串
一:学习内容
- 字符串类型
- 字符串类型判断
- 字符串类型互转
- 字符串小练习
二:字符串类型
1. basestring
在python中和字符串相关的数据类型为:str和unicode,他们都是basestring的子类,可见str和unicode是两种不同类型的字符串对象

2. 字节字符串类型
byteString='hello world!'
可以看到这个byteString的类型为str

3. unicode字符串类型(在普通字符串前面加个u)
unicodeString=u'hello Unicode world!'
可以看到这个unicodeString的类型为unicode

三:字符串类型判断
1. 判断是否是字符串(包括str和unicode)
#encoding=utf-8
s = "hello normal string"
u = u'hello unicode'
if isinstance(s,basestring):
print u'是字符串'
if isinstance(u,basestring):
print u'是字符串'
运行结果为:无论是str字符串还是unicode字符串都属于basestring类中子类

2. 判断是否是unicode
#encoding=utf-8
s = "hello normal string"
u = u'hello unicode'
if isinstance(s,unicode):
print s,u'是unicode'
if isinstance(u,unicode):
print u,u'是unicode'
运行结果为:

3. 判断是否是str
#encoding=utf-8
s = "hello normal string"
u = u'hello unicode'
if isinstance(s,str):
print s,u'是str'
if isinstance(u,str):
print u,u'是str'
运行结果为:

四:字符串类型互转
1. 不指定编码解码类型进行互转-使用系统默认编码
#encoding=utf-8
s="byte string"
print type(s)
#str 转 unicode
u = s.decode()
print type(u)
#uncode 转 str
backToBytes = u.encode()
print type(backToBytes)

可以看到上面的unicode和decode都没有指定编码解码的名称,此时会用系统默认的编码。
2. 指定编码解码类型进行互转
#encoding=utf-8
s = "hello normal string"
print u"字节字符串",type(s)
#str 转 unicode
u = s.decode("UTF-8" )
print u"Unicode字符串",type(u)
#uncode 转 str
backToBytes = u.encode( "UTF-8" )
print u"字节字符串",type(backToBytes)
运行结果为:

五:字符串小练习
1. 小练习一:输出字符串中奇数坐标的字符串
a = 'gloryroad'
''.join([a[x] for x in xrange(len(a)) if x%2==1])

2. 小练习二:将字符串大写变小写,小写变大写输出
s='adbABC'
s.swapcase()

3. 小练习三:将字符串abcdefgccc顺序第一个c变成f然后输出整个字符串
s1='abcdefgccc'
s2=''
flag=True
for i in s1:
if i=='c' and flag:
s2+='f'
flag=False
else:
s2+=i
print s2
运行结果为:

4. 小练习四:输出1000以内包含3的数如:34,153等
print [x for x in range(1001) if '3' in str(x)]

上面的练习也许各位初学者不能全部都看懂,别急,后续的python学习笔记中我们会就每一个细节进行一一学习。
笔记五:python字符串的更多相关文章
- python学习笔记:python字符串
二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象 ...
- Python学习笔记五:字符串常用操作,字典,三级菜单实例
字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...
- Python学习笔记(五)Python的切片和迭代
切片 Python提供了切片操作符,可以对list.tuple.字符串进行截取操作. list中的切片应用 语法如下: >>> L = ['Michael', 'Sarah', 'T ...
- 笔记:Python 字符串小记
1. 字符串是以''或""括起来的任意文本,如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK" >>> p ...
- 【python学习笔记】3.字符串使用
[python学习笔记]3.字符串使用 字符串是一种序列,素有标准的序列操作对字符串用样适用,字符串是不可以改变 格式化操作符,%,左侧是格式化字符串,右侧是被格式的值,可以是一个值.元组.字典 数值 ...
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python之路《五》字符串的操作
python的里的字符串的操作是可以说是最常见也是最实用的 我们通常使用双引号来表示字符串" "创建字符串很简单,定义一个变量就可以了 1 name = 'my name \t i ...
- python学习笔记3(字符串)
Python字符串: 在Python中的字符串被确定为一组连续的字符在引号之间, Python允许在任何对单引号或双引号. 串的子集,可以使用切片操作符可采用([]和[:]),索引从0开始的字符串的开 ...
- [Python学习笔记][第四章Python字符串]
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...
随机推荐
- vim 安装vim-javascript插件--Vundle管理
最近看了一下node.js,但是写的时候,vim对js没有很好的提示.于是就安装插件来处理,准备安装vim-javascript.但是安装github上面的插件时,推荐用Vundle和pathogen ...
- jenkins 后台程序运行
# 背景 jenkins持续集成,需要任务后台执行(nohup执行)结果发现jenkins的job执行完后,看不到运行的进程 # 步骤 原因就是这么一个情况:Jenkins任务结束时候自动关掉了所有的 ...
- CentOS环境变量配置并生效
配置环境变量 1). #:vi /etc/profile 在最后面添加 PATH=~/dotnet/bin:$PATHexport PATH 2). #:source /etc/profile
- C# 代码风格要求
一个.cs源文件至多定义两个类型 所有命名空间.类型名称使用Pascal风格(单词首字母大写),私有方法.受保护方法,仍使用Pascal风格命名 本地变量.方法参数名称使用Camel风格(首字母小写, ...
- NET 时间字符串转换
// 把指定格式的日期字符串转换为时间:2018/11/1 0:00:00 DateTime.ParseExact("2018a11","yyyyaMM",Sy ...
- MongoDB的下载、安装与部署方法
1.什么是MongoDB? 它是介于关系型数据库和非关系型数据库之间的一种NoSQL数据库,用C++编写,是一款集敏捷性.可伸缩性.扩展性于一身的高性能的面向文档的通用数据库. 2.为什么要用Mong ...
- 使用chosen插件实现多级联动和置位
使用chosen插件实现多级联动和置位 首先写好第一个select,加上onchage属性之后,写onchange方法. <select data-placeholder="选择省份. ...
- C# DataTable导出EXCEL后身份证、银行卡号等长数字信息显示乱码解决
在DataTable导出EXCEL后发现有些格式显示有问题,比如身份证.银行卡号等大于11位的数字显示为科学计数法.13681-1等 带中划线的两段数字显示为日期格式等. 处理方法如下: public ...
- UE4随笔 二 第一印象
打开UE4,短暂的兴奋过后,开始大概扫一扫UE4的编辑器,整个界面比UE3更有现代气息: 之前看其他人写的文章,虚幻4最重要的改动集中在下面几个方向上: 跨平台: WIN和MAC平台都能使用,这就意味 ...
- 在sqlite中,如何删除字段? how to drop a column in sqlite
在sqlite中可以使用ALTER TABLE语法对表结构进行修改,从官方的文档说明中,语法如下图: 从图中可以看出,ALTER TABLE仅仅支持表名重命名,添加字段,却没有删除字段的方法.那么该如 ...