一:学习内容

  • 字符串类型
  • 字符串类型判断
  • 字符串类型互转
  • 字符串小练习

二:字符串类型

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字符串的更多相关文章

  1. python学习笔记:python字符串

    二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象 ...

  2. Python学习笔记五:字符串常用操作,字典,三级菜单实例

    字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...

  3. Python学习笔记(五)Python的切片和迭代

    切片 Python提供了切片操作符,可以对list.tuple.字符串进行截取操作. list中的切片应用 语法如下: >>> L = ['Michael', 'Sarah', 'T ...

  4. 笔记:Python 字符串小记

    1. 字符串是以''或""括起来的任意文本,如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK" >>> p ...

  5. 【python学习笔记】3.字符串使用

    [python学习笔记]3.字符串使用 字符串是一种序列,素有标准的序列操作对字符串用样适用,字符串是不可以改变 格式化操作符,%,左侧是格式化字符串,右侧是被格式的值,可以是一个值.元组.字典 数值 ...

  6. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  7. python之路《五》字符串的操作

    python的里的字符串的操作是可以说是最常见也是最实用的 我们通常使用双引号来表示字符串" "创建字符串很简单,定义一个变量就可以了 1 name = 'my name \t i ...

  8. python学习笔记3(字符串)

    Python字符串: 在Python中的字符串被确定为一组连续的字符在引号之间, Python允许在任何对单引号或双引号. 串的子集,可以使用切片操作符可采用([]和[:]),索引从0开始的字符串的开 ...

  9. [Python学习笔记][第四章Python字符串]

    2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...

随机推荐

  1. 深入研究java.lang.Process类

    一.概述 Process类是一个抽象类(所有的方法均是抽象的),封装了一个进程(即一个执行程序).       Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态 ...

  2. Visual Studio在Win10中以管理员方式运行

    在Win10中运行VS不是默认以管理员程序运行的,需要手动设置 第一步:将VS快捷方式设置为以管理员身份运行 第二部 在C:\Program Files\Microsoft Visual Studio ...

  3. OSLab课堂作业1

        日期:2019/3/16 作业:实现命令cat, cp, echo. myecho命令 #include <stdio.h> int main(int argc, char *ar ...

  4. 编码CODING

    摘自(复制)于海燕博客: http://www.cnblogs.com/haiyan123/p/7230533.html 1.内存和硬盘都是用来存储的. CPU:速度快 硬盘:永久保存 2.文本编辑器 ...

  5. 简单版nginx lua 完成流量上报于中间件

    本文链接:https://www.cnblogs.com/zhenghongxin/p/9131226.html 公司某些业务下,需要将请求的流量上报于中间件(kafka,rabbitMq等),让st ...

  6. 一,memcached的基本概念

    1,memcached的基本概念 memcached是一个高效的分布式内存对象缓存系统,它可以支持把各种php的数据(array,对象,基本数据类型)放入到它管理的内存中.简单的说,memcached ...

  7. linux中 ll 和ls 区别

    ll 列出来的结果详细,有时间,是否可读写等信息 ,象windows里的 详细信息ls 只列出文件名或目录名 就象windows里的  列表 ll -t 是降序,  ll -t | tac 是升序 l ...

  8. 【wireshark】插件开发(三):Lua插件 Dissector

    // TODO: 部分内容需要修改 1. 骨架 首先新建一个文件,命名为foo.lua,注意此文件的编码方式不能是带BOM的UTF8,否则wireshark加载它时会出错(不识别BOM): -- @b ...

  9. Optimizing Your App for Today’s Internet

    这个 session 的主讲人感觉是一个很典型的美国人,年纪也不小. 网络现状 四十亿人在使用因特网,大概占有世界人口的一半.上网人数的增长在减缓. 但是网络仍然在增长.增长点主要在物联网.第三世界国 ...

  10. Python小白学习之路(二十)—【打开文件的模式二】【文件的其他操作】

    打开文件的模式(二) 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格 ...