#!/usr/bin/env/python
#-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 #字符串:通常有单引号“'”、双引号“"”、三个单引号“'''”或三个双引号“"""”包围的一串字符组成
Str='ABC\tdefGabc\n123DEFgGG'
#查看对象的类,或对象所具备的功能
print(dir(str))
#查看str类的源码
# print(help(type(str)))
print('Str:',Str) #Python 的字符串内建函数
'''一、大小写字母转换'''
print('首字母大写,其他字母小写:',Str.capitalize())
Str1='ЛЮЯШЩабжз'#俄文
print('所有大写转换成小写:',Str1.casefold()) #对于其他语言(非汉语或英文)中把大写转换为小写的情况只能用 casefold() 方法
print('A~Z中大写转换成小写:',Str.lower()) #lower() 方法只对ASCII编码,也就是‘A-Z’有效
print('翻转大小写:',Str.swapcase())
print('"标题化"的字符串',Str.title()) #所有单词都是以大写开始,其余字母均为小写
print('小写转换成大写:',Str.upper()) '''二、设定长度和字符进行填充显示'''
print('设定长度将字符串居中显示,两边以X填充:',Str.center(50,'*'))
print('设定长度将字符串居左显示,右边以X填充:',Str.ljust(50,'*'))
print('设定长度将字符串居右显示,左边以X填充:',Str.rjust(50,'*'))
print('设定长度将字符串局右显示,左边以0填充:',Str.zfill(50))#指定长度的字符串,原字符串右对齐,前面填充0 '''三、统计某字符的个数'''
print('设定长度范围下,统计字符G个数:',Str.count('G',12,20)) '''四、编码和解码'''
print('编码:',Str.encode('utf-8')) #将Unicode编码成utf-8
print('解码:',Str.encode('utf-8').decode('utf-8')) #将utf-8解码成Unicode '''五、字符串中的 tab 符号('\t')转为空格'''
print('默认替换位数8,从字符串第0位~符号\\t位进行替换,无字符使用空格替换:',Str.expandtabs()) '''六、查找字符的位置'''
print('显示第一个字符为X的位置,找不到返回-1:',Str.find('G',0,20))
print('显示最后一个字符为X的位置,找不到返回-1:',Str.rfind('G',0,20))
print('显示第一个字符为X的位置,找不到抛异常:',Str.index('G',0,20))
print('显示最后一个字符为X的位置,找不到抛异常:',Str.rindex('G',0,20)) '''七、字符的格式化'''
name='xiaoshao'
age=20
print('格式化字符串:我叫{0},今年{1}'.format(name,age))
print('格式化字符串:我叫{name},今年{age}'.format_map({'name':name,'age':age}))
print('格式化字符串:我叫%s,今年%s'%(name,age))
print('格式化字符串:我叫{:s},今年{:d}'.format(name,age))
print('格式化字符串:我叫{name},今年{age}'.format(name=name,age=age)) #建议使用这种方式 '''八、字符串合法字符的判断'''
print('是否以X开头:',Str.startswith('A'))
print('是否以X结尾:',Str.endswith('G'))
Str='Abc123'
print('字符串是否全部为字母或数字:',Str.isalnum())
Str='Abc'
print('字符串是否全部为字母:',Str.isalpha())
Str1='123456' #数字、全角数字
Str2='四壹' #汉字数字
Str3='Ⅳ' #罗马数字
Str4='①' #数字序号
Str5=b'' #字节
print('字符串是否只包括数字:',Str1.isdigit()) #True(数字、字节、全角数字、数字序号),False(汉字数字、罗马数字),Error(无)
print('字符串是否全部为半角和全角数字:',Str3.isdecimal()) #True(数字、全角数字),False(汉字数字、罗马数字、数字序号),Error(字节)
print('字符串是否只包含数字字符:',Str3.isnumeric()) #True(数字、全角数字、罗马数字、汉字数字、数字序号),False(无),Error(字节)
print('字符串是否为合法的标识符/变量名:',Str.isidentifier()) #合法的标识符/变量名是由数字、字母、下划线组成,且不能由数字开头
Str='abc'
print('字符串是否全部为小写字母:',Str.islower())
print('字符串是否为可打印字符/能否原样输出:',Str.isprintable()) #例如\r或\n字符无法打印
Str=' \n'
print('字符串是否为空格:',Str.isspace()) #例如' '或\n字符为空格
Str='I Studying String'
print('字符串中单词拼写首字母是否为大写,且其它字母为小写:',Str.istitle())
Str='STR'
print('字符串中所有的字母是否都为大写:',Str.isupper()) '''九、字符串生成:将列表、字典、元组中元素以指定的字符连接生成一个新的字符串'''
List=['appiun','selenium','android','IOS']
print('列表中元素以X连接生成字符串:','_'.join(List))
Dict={'name':'xiaoshao','age':''}
print('字典中元素以X连接生成字符串:','-'.join(Dict.keys()))
print('字典中元素以X连接生成字符串:','-'.join(Dict.values()))
Tup=('appiun','selenium','')
print('元组中元素以X连接生成字符串:','*'.join(Tup)) '''十、删除指定字符(或空格)'''
Str='*%abc1*%23%*'
print('删除左边指定字符X(默认空格换行符):',Str.lstrip('*%'))
print('删除右边指定字符X(默认空格换行符):',Str.rstrip('*%'))
print('删除头尾指定的字符X(默认空格换行符):',Str.strip('*%')) #移除字符串头尾指定的字符(默认为空格或换行符)或字符序列 '''十一、字符串中字符的映射和替换'''
Str1='amih'
Str2=''
Str='my name is xiaoshao'
trantab1=Str.maketrans(Str1,Str2) #maketrans(需替代字符,映射字符)创建字符映射转换表
trantab2=Str.maketrans(Str1,Str2,'a') #maketrans(需替代字符,映射字符,删除制定字符)创建字符映射转换表创建字符映射转换表,并删除指定字符
print('按照映射表进行字符的替换:',Str.translate(trantab1))
print('按照映射表进行字符的替换,并删除指定字符:',Str.translate(trantab2))
print('字符串中的old替换成new替换不超过max次:',Str.replace('a','A',2)) '''十二、字符串的分隔'''
Str='www.baidu.com'
print('字符串按照指定第一个字符分割:',Str.partition('.'),type(Str.partition('.')))
print('字符串按照指定第一个字符分割:',Str.rpartition('.'),type(Str.rpartition('.')))
Str1='ABC 123\n¥&*\txyz'
print('指定第一个分隔符X对字符串进行N次切片成列表:',Str.split('.',1),type(Str.split('.',1)))
print('指定第一个分隔符X对字符串进行N次切片成列表:',Str1.split(),type(Str1.split())) #默认为所有的空字符,包括空格、换行(\n)、制表符(\t);分割次数,默认为 -1, 即分隔所有
print('指定最后一个分隔符X对字符串进行N次切片成列表:',Str.rsplit('.',1),type(Str.rsplit('.',1)))
print('指定最后一个分隔符X对字符串进行N次切片成列表:',Str1.rsplit(),type(Str1.rsplit())) #默认为所有的空字符,包括空格、换行(\n)、制表符(\t);分割次数,默认为 -1, 即分隔所有
Str = 'ab c\n\nde fg\rkl\r\n'
print('按照行分隔成列表:',Str.splitlines(False)) #按照行('\r', '\r\n', \n')分隔,参数为False,不包含换行符
print('按照行分隔成列表:',Str.splitlines(True)) #按照行('\r', '\r\n', \n')分隔,参数为True,包含换行符 '''十三、字符串单引号和双引号的区别'''
Str1='\'a\'' #单引号中不能直接使用单引号,需要进行转义
print('单引号中转义使用单引号:',Str1)
Str2="\"b\"" #双引号中不能直接使用双引号,需要进行转义
print('双引号中转义使用双引号:',Str2)
Str3='"c"' #单引号中可以直接使用双引号
print('单引号中直接使用双引号:',Str3)
Str4="'d'" #双引号中可以直接使用单引号
print('双引号中直接使用单引号:',Str4)

Python笔记【2】_列表学习的更多相关文章

  1. python 学习笔记二_列表

    python不需要声明类型信息,因为Python的变量标识符没有类型. 在Python中创建一个列表时,解释器会在内存中创建一个类似数组的数据结构类存储数据,数据项自下而上堆放(形成一个堆栈).索引从 ...

  2. Python笔记(九)_切片、列表生成式

    切片 mylist[:3] 取前3位元素,0可省略不写 mylist[-4:] 取后4位元素,0可省略不写 mylist[2:4] 从第2个开始取,取到第4个,但第4个不取,取的元素值为4-2=2 m ...

  3. Python笔记——基本数据结构:列表、元组及字典

    转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...

  4. python笔记十(列表生成式、字典生成式、生成器、生成器的并行)

    一.列表生成式 列表生成式就是python设置的可以用来可以生成列表的. 如要生成一个0-9的列表我们可以通过以下代码实现: >>> list(range(10)) [0, 1, 2 ...

  5. python笔记02:列表与元素

    本章将引入一个新的概念:数据结构.数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合.这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构是序 ...

  6. python笔记(1)--序列(列表 元组 range)

    一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...

  7. Python笔记(四)_字符串的方法

    字符串的方法 []表示该参数时可选的,start和end参数表示范围 count(sub[, start[, end]]) 返回sub在字符串里边出现的次数 find(sub[, start[, en ...

  8. python笔记2——关于列表的使用

      一.列表的一些基本用法 names=["XiaoNaiyou", "XiaoNan", "WeiZhen", "WuCheng ...

  9. Python笔记(十七)_面向对象编程

    面向对象编程 概念:简称OOP,是一种程序设计思想:OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数 面向对象的设计思想:抽象出类class,根据类class创建实例对象instan ...

随机推荐

  1. DataGrid DataGridTemplateColumn

    设置单元格的样式 <DataGrid.Columns> <DataGridTextColumn Header="检测项目" Binding="{Bind ...

  2. 通过.NET客户端调用Web API(C#)

    3.2 Calling a Web API From a .NET Client (C#) 3.2 通过.NET客户端调用Web API(C#) 本文引自:http://www.asp.net/web ...

  3. .Net 开源服务 and Net站点

    小泥鳅博客系统也是一个.NET平台的开源免费博客系统,创建于2008年夏天,基于.Net平台开发,拥有完整的文章发布,评论,订阅,标签等功能,满足个人/团队信息发布需求,可作为Blog,CMS,甚至建 ...

  4. C#原子性运算 interlocked.compareExchanged

    缘起: 假设有一个类myClass, myclass里有一个count属性. 在多线程的环境下 每个线程中 直接使用count++,  如果两个线程并行执行时, 两个线程中的一个的结果会被覆掉, 非线 ...

  5. UWP中String类型如何转换为Windows.UI.Color

    原文:UWP中String类型如何转换为Windows.UI.Color 我在学习过程中遇到的,我保存主题色为string,但在我想让StatusBar随着主题色变化时发现没法使用. ThemeCol ...

  6. 【Gerrit】自动设置reviewer

    gerrit 提供了一种代码review解决方案,但每次代码提交之后都要设置每个commit的code reviewer, 实在是痛苦. gerrit 在官方说明文档里面提供了解决方法,地址:http ...

  7. 微信小程序把玩(二十三)modal组件

    原文:微信小程序把玩(二十三)modal组件 modal弹出框常用在提示一些信息比如:退出应用,清楚缓存,修改资料提交时一些提示等等. 常用属性: wxml <!--监听button点击事件-- ...

  8. 零元学Expression Blend 4 &ndash; Chapter 43 如何指定Childwindow PopUp位置

    原文:零元学Expression Blend 4 – Chapter 43 如何指定Childwindow PopUp位置 有网友询问我有关Childwindow是否能指定弹出位置? 其实只要透过小小 ...

  9. FastMM、FastCode、FastMove的使用(详细讲解了怎么安装与使用)good

    http://blog.csdn.net/akof1314/article/details/6524767

  10. 学会了使用qmake -query

    D:\Qt\Qt5.6.2_static_kk\bin>qmake -queryQT_SYSROOT:QT_INSTALL_PREFIX:C:/Qt/Qt5.6.2_static_kkQT_IN ...