字符串的操作

  1. 变量:
  2. 变量只能是 字母,数字或下划线的任意组合,但首个字符不能为数字,且不能有空格
  3. 以下关键字不能声明为变量:
  4. and as assert break class continue def del elif else except
  5. exec finally for from golbal if import in is lamda not or pass print raise
  6. return try while with yield

变量的命名

字符串都是可哈希的(不可变),因此字符串的操作都是生成新的字符串,不是修改原始值。但是列表是可变的,因此列表的方法都是直接修改原始值。

方法按字母索引:

1.  C-F

  1. >>> name = "my name is gkxxxx"
  2. 2 >>> name.capitalize()
  3. 'My name is gkxxxx'
  4. 4 >>> name.casefold()
  5. 'my name is gkxxxx'
  6. >>> #casefold 与lower很像,不过lower只针对ASCII码的字母
  7. 7 >>> name.center(10,"-")
  8. 'my name is gkxxxx'
  9. >>> name.center(40,"-")
  10. '-----------my name is gkxxxx------------'
  11. >>> #输出40个字符,若name不足,用“-”补足,其中name里的空格也算字符数
  12. 12 >>> name.endswith("x") # 'gkxpanda'.startswith('x',2,5) ---> 对字符串切片2,5(顾头不顾尾),判断是否以x开头
  13. True # 对于判断字符串的开头结尾,可以看成判断 str[0],str[-1],因为字符串也有index
  14. >>> name.endswith("aa")
  15. False
  16. >>> #判断字符串结尾,正确返回true,比如是否以.com结尾,不能为空,会报错。
  17. 17 >>> name.expandtabs(tabsize=30)
  18. 'my name is gkxxxx'
  19. >>> #假如name中有“\t”,则把扩大tap的字符数。 ‘g\tkx’如果默认,则是\t往前补8位,比如 此处字母只有1个g,会再补7个空格
  20. 20 >>> name.find("name") #找不到返回 -1
  21. 3
  22. >>> #找到name的起始位置,Ps:字符串也可以切片,如下:
  23. >>> name[name.find("name"):9]
  24. 'name i'
  25. >>> name[name.find("name"):7]
  26. 'name'
  27. >>> name2 = "my name is {name_2}"
  28. 28 >>> name2.format(name_2=name)
  29. 'my name is my name is gkxxxx'
  30. >>> #format 格式化输出
  31. 31 >>> name2.format_map({'name_2':'gkxxx'})
  32. 'my name is gkxxx'
  33. >>> #format_map 也是格式化输出,不过用的是字典,很少用就是了
  1. #format
  2. >>> name = ''
  3. >>> age = 1
  4. >>> a = '{},{}'.format(name,age)
  5. >>> a
  6. '1,1'

字符串中有多少大括号,foamat后面就可以跟几个

2.   i

  1. 1 >>> name.index('m')
  2. 0
  3. >>> print('ab23'.isalnum)
  4. <built-in method isalnum of str object at 0x000001F2A409C228>
  5. >>> #包含所有的英文字符和1~9,返回true,如果有特殊字符就返回false
  6. 6 >>> name.isalpha()
  7. False
  8. >>> name_3 = 'abc'
  9. >>> name_3.isalpha()
  10. True
  11. 11 >>> name.isdecimal()
  12. False
  13. >>> #是否是十进制
  14. 14 >>> name.isdigit()
  15. False
  16. >>> #是否是数字
  17. 17 >>> name.isidentifier() #判断是不是一个合法的标识符(变量名)
  18. False
  19. >>> name_3.isidentifier()
  20. True
  21. 21 >>> name_3.islower()
  22. True
  23. >>> #判断是不是小写
  24. 24 >>> print('33'.isnumeric())
  25. True
  26. >>> #与 .isdigit差不多
  27. >>> #带小数返回false
  28. >>> name_4 = 'My Name Is Gkxx'
  29. 29 >>> name_4.istitle() #判断是否开头都是大写
  30. True
  31. 31 >>> name_4.isprintable() #如果是字符串不用考虑是否可以打印,类似linux ttyfile drive file不能打印
  32. True
  33. 33 >>> name_4.isupper()
  34. False
  35. >>>

 3. J~Z

  1. >>> print('+'.join(['','','','','']))
  2. 1+2+3+4+5
  3. 3 >>> print('+'.join(['1','2','3','4','5'])) #emmmm,如结果所示
  4. 1+2+3+4+5
  5. 5 >>> name.ljust(40,'*') #同center,左边字符串不足位数,自动补位
  6. 'my name is gkxxxx***********************'
  7. 7 >>> name.rjust(40,'-') #同center,ljust 右边字符串不足位数,自动补位
  8. '-----------------------my name is gkxxxx'
  9. 9 >>> name.lower() #全小写,做验证码登陆可以用f
  10. 'my name is gkxxxx'
  11. 11 >>> name.upper() #全大写
  12. 'MY NAME IS GKXXXX'
  13. >>> name_5= ' gkx '
  14. 14 >>> name_5.lstrip()
  15. 'gkx '
  16. 16 >>> name_5.rstrip()
  17. ' gkx'
  18. 18 >>> name_5.strip() #'sdgx@sd f#'.strip(' @#') ---> 'sdgx@sd f'只要是位于首尾的特殊字符,空格,数字,直接写在.strip()的参数里,都可以删除,但是中间的就不会删
  19. 'gkx'
  1. #strip的坑:
  2. >>> a = 'aaa****ab'
  3. >>> a.strip('ab')
  4. >>'****' #用字母去做strip的时候,会去掉所有的字母
  1. >>>
  2. 21 >>> ser = str.maketrans('abcdefg','1234567')
  3. 22 >>> text = 'c is after a'
  4. 23 >>> text.translate(ser)
  5. 24 '3 is 16t5r 1'
  6. 25 >>> # maketrans可以设置一一对应的字符,translate可以翻译maketrans,从而达到加密效果
  7. >>>
  8. >>> name_6 = 'my name is gkx'
  9. 28 >>> name_6.partition(" ")
  10. ('my', ' ', 'name is gkx')
  11. >>> #根据字符串已有的分隔符,把字符串分割成tuple
  12. >>>
  13. >>> name.replace('x','WW')
  14. 'my name is gkWWWWWWWW'
  15. >>> name.replace('m','M',0)
  16. 'my name is gkxxxx'
  17. 36 >>> name.replace('x','WW',1) #不写1则替换所有的X为WW,写了就只替换第一处x
  18. 'my name is gkWWxxx'
  19. >>> #对字符串的值进行替换,最后一个数字表示,想替换的个数
  20. >>>
  21. 40 >>> name.rfind('y') #同find,不过find默认找到最左边的值的index,rfind默认找到最右边的值的index
  22. 1
  23. >>>
  24. 43 >>> name.split(' ') #根据字符串已有的分隔符,把字符串分割成列表,此处分隔符为空格
  25. ['my', 'name', 'is', 'gkxxxx']
  26.  
  27.   "aa_bb_cc".rsplit('_',1) #从右边开始分割,只分割一次
      >>> ['aa_bb','cc']
  28. >>> name_7 = '1+2\n+3'
  29. 46 >>> name_7.splitlines()
  30. ['1+2', '+3']
  31. >>> #同split ,默认是用\n换行符,分割
  32. >>>
  33. >>> name_8 = 'MY name IS gkx'
  34. 51 >>> name_8.swapcase() #转换大小写
  35. 'my NAME is GKX'
  36. 53 >>> name_8.title() #首字母大写,每个隔开的(空格,特殊字符,数字)单词首字母大写
  37. 'My Name Is Gkx'
  38. 55 >>> name_8.zfill(50) #自动用0补位
  39. '000000000000000000000000000000000000MY name IS gkx'
  40. >>>

Python—字符串的操作的更多相关文章

  1. Python字符串切片操作知识详解

    Python字符串切片操作知识详解 这篇文章主要介绍了Python中字符串切片操作 的相关资料,需要的朋友可以参考下 一:取字符串中第几个字符 print "Hello"[0] 表 ...

  2. Python 字符串大小写操作

    #coding=utf-8 #python中字符串的操作 # 字符串的大小写 s='hello_wOrld_oF_you' upper_str = s.upper() print('全部大写: ',u ...

  3. Python字符串的操作

    字符串常用操作 name = "my name is alex" # 注: python中方法名前后带下划线的是供内部使用的方法, 如方法__dir__(). 这种方法是不对外提供 ...

  4. day7 python字符串的操作及方法

    1.字符串 1.1 字符串的操作 # 1.字符串的拼接 strvar = "我爱" + "中国" # 2.字符串的重复 strvar = "今天下午2 ...

  5. python字符串的操作(去掉空格strip(),切片,查找,连接join(),分割split(),转换首字母大写, 转换字母大小写...)

    #可变变量:list, 字典#不可变变量:元祖,字符串字符串的操作(去掉空格, 切片, 查找, 连接, 分割, 转换首字母大写, 转换字母大小写, 判断是否是数字字母, 成员运算符(in / not ...

  6. python字符串常见操作

    字符串常见操作 如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作 <1>find 检测 str 是否包含在 mystr中,如 ...

  7. 初学Python——字符串相关操作

    基本字符串操作 Pyhton中字符串的格式化输出在前面已经总结了,接下来介绍一些常用的字符串操作 先定义一个字符变量,以下的操作都以此为例: name=" my name is china ...

  8. Python字符串基础操作

    ==============字符串======== >>> s1='www.baidu.com' >>> type(s1) <type 'str'> & ...

  9. Python 字符串相关操作

    # 1 * 重复输出字符串 print('hello'*2) # 2 [] ,[:] 通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表 print('helloworld'[2: ...

随机推荐

  1. 判断是否滚动加载结束 用一个公共变量isScroll来控制

    如果还没达到最大页数,isScroll就一直是不变,ajax正常进行.如果达到最大页数,就不执行ajax操作了...

  2. js回溯法计算最佳旅行线路

    假如有 A,B,C,D四个城市,他们之间的距离用 G[V][E] 表示,为 无穷大,则表示两座城市不相通 现在从计算从某一个城市出发,把所有的城市不重复旅行一次,最短路径 其中G为: (Infinit ...

  3. 大数据小视角3:CarbonData,来自华为的中国力量

    连续两篇文章都聊了不同的存储格式,这篇我们继续深入来看看在存储格式的演变之上有什么新的"黑科技".华为公司在2016年开源了类parquet的列存格式:CarbonData,并且贡 ...

  4. nuxtjs中使用axios

    最近使用nuxtjs服务端渲染框架,在异步请求时遇到两个问题,一是怎么使用axios, 二是怎么在asyncData方法中使用axios 当使用脚手架create nuxt-app创建项目时,会提示是 ...

  5. Oracle 26表空间的管理

    一.查看用户表空间 熟悉与表空间相关的数据字典 查看用户的表空间 相关的数据字典:(用于查询数据库信息的数据库表)dba_tablespaces (管理员级别的表空间的描述信息) User_table ...

  6. 查看容器IP地址

    我们可以通过以下命令查看容器运行的各种数据 docker inspect 容器名称(容器ID)  也可以直接执行下面的命令直接输出IP地址 docker inspect --format='{{.Ne ...

  7. C# 获取 mp3文件信息【包括:文件大小、歌曲长度、歌手、专辑】

    C# 获取 mp3文件信息[包括:文件大小.歌曲长度.歌手.专辑] 第一种方式:[代码已验证] // http://bbs.csdn.net/topics/390392612   string fil ...

  8. Linux文件检索

    title: Linux文件检索 date: 2017-12-11 19:03:01 tags: linux categories: linux whereis 只要执行 whereis ls 就可以 ...

  9. nginx根据CPU配置多线程运行

    转自:Nginx使用教程(二):Nginx配置性能优化之worker配置 配置Nginx workers <br\>NGINX根据指定的配置运行固定数量的工作进程. 这些工作进程负责处理所 ...

  10. PyQT的安装和配置

    安装pythonQt 操作系统:Windows 7 64位 python版本:3.4 PyQt5使用PIP安装 测试是否安装成功 导入PyQt5 没报错说明安装成功 pythonQt Designer ...