2018-7月19日系统模块字符串操作

每天遇到的新单词: recursion   n:递归 objece      n:对象 maximum     adj:最大值 exceed      v:超过,超越 exceeded    adj:过度的,非常的 attribute   v:认为是 isdigit     n:数字 task        n:任务 encode      v:编码 decode      v:解码 separator   n:分隔符

组合数据类型的遍历: 列表,元组,集合都可以用for直接遍历如: for x in f: print(x) 但是字典不能, 字典只能用for x,y in f.items():           print(x,y) 字典的items()函数是遍历出所有的键值对,keys()函数是遍历出所有的keys, values()函数是遍历出所有的values. for x in f.keys()           for x in f.values() print(x)                   print(x)

python中的命名规范,不用看具体代码就能知道该名字代表的是什么: import tools    #引入一个 模块 tools.user          #代表一个变量    tools.show_user()   #函数    tools.Auther        #类型   其他命名法:show_user事用的最多的下划线命名法 showUser 小驼峰命名法  ShowUser 大驼峰命名法

代码一定要注意规范!

代码中ctrl+鼠标左键是打开该函数

基础数据类型是不可变的数据类型  a=10 b=a b=12 结果是:a=10,b=12 组合数据类型是可变的数据类型  a=[1,2,3] b=a b.append[12]   结果是:a=[1,2,3,12]  b=[1,2,3,12]

别的文件中的全局变量在本文件中不用声明global name,可以直接 data.name="tom"修改它的值,但是本文件中的 全局变量必须global+变量名声明一下才能进行修改

完善个人资料? 可变参数类型的输出值是元组吗?

python中如果想打印%就用两个%

************************************ 1.字符串:代码中包含在一对引号中的字符/三引号中的字符,引号可以是单引号也可以是双引号,如: s1 = "这是一个字符串" s2 = '这也是一个字符串' s3 = """ 这是一个长字符串 支持换行 在某些情况下,可以当成(文档)注释使用[不赋值] 比如在文件的开头、函数的开头、类型的开头 """

2.转义字符: s4 = "这是一个'特殊'的字符串,单引号和双引号可以交叉使用" s41 = '单引号字符串中可以"直接包含"双引号' # 转义:转变原来的含义,符号: \ # \t:将一个普通的字符t,转变成tab制表符,意思是空格 # \n:讲一个普通的字符n,转变成换行符,意思是换行 # \r:将一个普通的字符r,转换成回车符,意思是回车 s5 = "双引号中如果想显示双引号,必须使用转义符号,这又是一个\"特殊\"的字符串"

3.字符串的拼接: 两个字符串可直接通过连接符号+拼接 s = "hello" s2 = "world" s3 = s1 + s2 字符串类型不可以和其他类型直接拼接 # i1 = 10 # s4 = s + i1 # print(s4) # TypeError: must be str, not int

4.字符串的特殊拼接:占位符拼接 # 字符串占位符:%s,%d,%f name = input("请输入您的姓名:") s5 = "welcome to China, my name is " + name s6 = "welcome to china, my name is %s" % name s7 = "hello my name is %s, %s years old!" % (name, 18)

# 整数占位 s9 = "this goods%% is ¥%d" % 100 print(s9)

# 浮点数占位 s10 = "圆周率是%.10f" % 13.1415926      #小数点后边的数字代表小数点后边保留的位数,默认为6位 print(s10) s="%.*f"%(2,1.2)       # *和后边的括号中的第一个数对应,表示保留几位小数,第一个数必须是整数

占位符也可以指定占用多少个位置:  s="abc%20s"%"hello"             %百分号后边的数字表示后边的字符需要占用的位置,默认是加号表示右对齐,同下 >>> s 'abc               hello' >>> s="abc%+20s"%"hello"          >>> s 'abc               hello'

>>> s="abc%-20s"%"hello"         %百分号后边的数字表示后边将要输出的字符占用的位置,减号表示左对齐 >>> s 'abchello               '

5.字符串函数: 字符串函数:python系统内内置的对字符串的各种操作的支持 ['capitalize', 'casefold',center', 'count', 'encode', 'endswith',   'expandtabs', 'find', 'format', 'format_map','index', 'isalnum', 'isalpha', 'isdecimal',   'isdigit', 'isidentifier', 'islower','isnumeric', 'isprintable', 'isspace',   'istitle', 'isupper', 'join', 'ljust','lower', 'lstrip', 'maketrans', 'partition',   'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split',   'splitlines', 'startswith', 'strip', 'swapcase','title', 'translate', 'upper', 'zfill'] *** capitalize:首字母大写    upper大写     lower小写        #使字符串变成自己想要变成的类型:n.upper()     istitle是否首字母大写   isupper是否大写    islower是否小写   #下面三个是判断时使用的, 用于返回True和False,如a=hello     a.istitle()   结果就是返回一个False

capitalize     v:用大写字母写 

*** 6.字符串中的对齐方式和剔除空格 s = "hello" s.center(10)        #意思是s在操作的时候,占用10个字符,并且内容居中对其 s.center(11, '-')   #意思是s在操作的时候,占用11个字符,居中对其,空白的位置使用指定的字符补齐 s.ljust(10,“*”)  # s占用10个字符,左对齐,空白的位置使用指定的字符补齐 s.rjust(10)         # s占用10个字符,右对齐

s="1" s.rjust(4,"0")     结果是:'0001'    

s.lstrip()   # 删除字符串s左边的空格             #stirp   v:删除清除 s.rstrip()   # 删除字符串s右边的空格 s.strip()    # 删除字符串s两边的空格

7.判断字符串里面是不是只包含整数:isdigit()  里面如有字符或者小数点都会返回False, 因为会把小数点当做字符串处理  s="12" >>> s.isdigit()                  #digit   n:数字 True

>>> s="12a" >>> s.isdigit() False

>>> s="12.11" >>> s.isdigit() False

8.判断字符串里面有没有字母以外的东西: isalpha()    大小写纯字母都会返回True , 字母之外的任何字符都会返回False,下划线也不例外:  s="abAB" >>> s.isalpha() True

>>> s="a1" >>> s.isalpha() False

>>> s="a_b" >>> s.isalpha() False

9,判断字符里面是不是只包含大小写字母和数字: isalnum()  如果是的话返回True, 如果包含其他任何特殊字符都会返回False: s="aA123" >>> s.isalnum()           #alphanumeric True                      #adj:文字数字的,包含文字与数字的

>>> s="aA1_2" >>> s.isalnum() False

*** 10.字符串的查询/匹配操作:(为什么要有两个查询?因为python是很多人很多组织一起写的, 并没有互相通知,所有出现同一个功能会有不同的函数) # # find  / rfind # # index / rindex # s = "hello" # x = s.find("lo")   # 查询指定的字符串第一次出现的位置;如果没有查询到返回-1 # x2 = s.index("lo")# 查询指定的字符串第一次出现的位置;如果没有查询到直接报错Error 11.一个字符串的编码,可以把字符串编码成不同的形式:encode()   encode:v编码 s="我爱你" >>> s.encode("utf-8")                        #把我爱你以utf-8的编码形式重新编码, b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'      #前面b开头是指的是这是以二进制开头的字符串,byte:字节 >>> s.encode("gb2312")                       #把我爱你以国标2312的编码方式重新编码 b'\xce\xd2\xb0\xae\xc4\xe3'

s=b"str"            以b开头的都是表示二进制形式的字符串(括号里面不能是中文,其他都可以) >>> s b'str' >>> type(s) <class 'bytes'>

如果别人给你一串二进制形式的字符串,你还可以解码:  decode()  decode:v解码  如果: s="我爱你" >>> s.encode("utf-8")                         b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'  解码:                                            #前提是要知道别人是以哪种方式编码的 a=b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'  a.decode("utf-8") 我爱你 12.查看字符串是否以某个字符串开头或结尾: s.startswith("he") # 判断s是否是"he"开头的字符串吧,返回True/False s.endswith("lo")   # 判断s是否是"lo"结尾的字符串,返回True/False

13.把有序的字符串以某种形式连接起来: 列表,元组,集合都可以,字典不可以  "--".join(["abc","123"]) 'abc--123'

*** 14.字符串的拆分:  字符串的拆分 # a="http/jgoig/ghoig/gogi/12.jpg" # # 拆分字符串 >>> a.partition("/")                  #在字符串中看有什么样的分隔符括号里面就用哪个分隔符来拆 ('http', '/', 'jgoig/ghoig/gogi/12.jpg')   #partition()默认从左边第一个分隔符那拆,把整个字符串分成/左右两部分

>>> a.rpartition("/")[-1]             #rpartition()从右边开始拆,并以切片的方式返回最后一个值 '12.jpg'                                   

>>> a.split("/")                                   #split()是把整个字符串在所有分隔符的地方拆开 ['http', 'jgoig', 'ghoig', 'gogi', '12.jpg'] >>> a.split("/")[-1]                              #把整个字符串在所有分隔符的地方拆开并返回最后一个值 '12.jpg'

*** 15.字符串的替换[查询->替换]replace: a="hello" >>> a.replace("l","*")    #括号内内第一个值是要被替换的东西,,第二个值是要替换的内容 'he**o' >>> a.replace("l","*",1)  #括号中的第三个值是可选的,代表替换的个数, 'he*lo'               不写的话默认的是将字符串中的原数据全部替换,这里写1是指只替换一个l

content = "发表一TMD片文章:文TMD章内容中TMD今天真热" # print(content) # content = content.replace("TMD", "***") # print(content)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

python基础-数据类型与变量

转载于:廖雪峰的官方网站-python教程 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远...

3667
来自专栏五毛程序员

C++知识点整理——持续更新

2164
来自专栏抠抠空间

函数 (一) 基础

一、函数的作用 函数可以让我们代码结构更清晰,而且避免了代码的重复,冗余,使一段代码或者功能可以反复的被调用,大大提高了开发效率 二、函数的定义 def 函数名...

3006
来自专栏王磊的博客

es6分享——变量的解构赋值

变量的解构赋值:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前的写法: var a = 1;...

2897
来自专栏进击的君君的前端之路

正则表达式

1765
来自专栏小古哥的博客园

JavaScript 正则表达式入门教程

正则表达式是描述一组字符串特征的模式,用来匹配特定的字符串 主要分三个部分:基本语法、RegExp对象的方法、JS中支持正则表达式的String对象方法 一、基...

3413
来自专栏静默虚空的博客

[Java 基础]基础语法

Java代码基本规范 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。 类名:对于所有的类来说,类名的首字母应该大写。如果类...

2098
来自专栏前端儿

JavaScript 的数据类型 相关知识点

JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type)

852
来自专栏coder修行路

go基础之--函数和map

在整理函数之前先整理一下关于指针 指针 普通类型变量存的就是值,也叫值类型。指针类型存的是地址,即指针的值是一个变量的地址。 一个指针指示值所保存的位置,不是所...

2977
来自专栏Micro_awake web

es6(五):class关键字(extends,super,static)

ES5中,生成对象通过构造函数: 1 function A(name,age){ 2 this.name=name; 3 this...

2237

扫码关注云+社区

领取腾讯云代金券