笔记五: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对全世界所有国家需要 ...
随机推荐
- Redis.conf配置文件内容详解
#默认以后台方式运行 daemonize yes #指定redis pid文件 pidfile /data/apps/var/redis2/redis2.pid #指定redis启动占用的端口 por ...
- 一起学习MVC(3)Views的学习
_ViewStart.cshtml._Layout.cshtml.Index.cshtml三个页面加载时候的先后顺序就是: _Layout.cshtml ViewStart.cshtml ...
- Team Foundation Server (TFS) 2017 团队资源管理器
在千呼万唤中,TFS 2017团队资源管理器终于发布了,对于所有TFS系统的用户,都是一个天大的喜讯,尤其是对于不经常做.NET开发的团队成员. 大家都知道,伴随TFS 2013(和之前的版本)的发布 ...
- jquery.cookie.js 删除cookie
简单交代一下背景:asp.net页面的上的切换登录按钮的点击事件实现cookie的删除. 但是好像没办法直接删除,通过网上提供的方法,可以使用jquery.cookie.js 来操作cookie的创建 ...
- 【Kindeditor编辑器】 文件上传、空间管理
包括图片上传.文件上传.Flash上传.多媒体上传.空间管理(图片空间.文件空间等等) 一.编辑器相关参数 二.简单的封装类 这里只是做了简单的封装,欢迎大家指点改正. public class Ki ...
- 爬虫浅谈一:一个简单c#爬虫程序
这篇文章只是简单展示一个基于HTTP请求如何抓取数据的文章,如觉得简单的朋友,后续我们再慢慢深入研究探讨. 图1: 如图1,我们工作过程中,无论平台网站还是企业官网,总少不了新闻展示.如某天产品经理跟 ...
- SQL Server 错误:924 解决方法
USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM ma ...
- 浅析JS模块规范:AMD,CMD,CommonJS
from:https://www.jianshu.com/p/09ffac7a3b2c 随着JS模块化编程的发展,处理模块之间的依赖关系成为了维护的关键. 模块化 AMD,CMD,CommonJS ...
- 设计模式--Singleton_(1)(C#版)
今天我们来探索一下Singleton设计模式的实现及应用场景. Singleton模式属于Creational Type(创建型)设计模式的一种.该模式一般用于确保在应用中仅创建一个某类的instan ...
- 使用.NET Core 2.1的Azure WebJobs
WebJobs不是Azure和.NET中的新事物. Visual Studio 2017中甚至还有一个默认的Azure WebJob模板,用于完整的.NET Framework. 但是,Visual ...