zoukankan      html  css  js  c++  java
  • day10-11-python基础之字符串

    1.开发工具

      python开发IDE: pycharm、eclipse 

      # 专业版

      # 不要汉化

    2.运算符

      结果是值

        算数运算

          a = 10 * 10

        赋值运算

          a = a + 1 a+=1

      结果是布尔值

        比较运算

          a = 1 > 5

        逻辑运算

          a = 1>6 or 1==1

        成员运算

          a = "蚊" in "郑建文"

    3.基本数据类型

      a.数字  int ,所有的功能,都放在int里

        a1: int(object)   将字符串转换为数字

          

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 #int
     4 a = "123"
     5 print(type(a), a)
     6 
     7 b = int(a)
     8 print(type(b), b)
     9 
    10 num = "0011"
    11 v = int(num, base=16)
    12 print(v)

        a2:bit_lenght(self)  当前数字的二进制,至少用n位表示

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #int
    4 age = 5
    5 r = age.bit_length()
    6 print(r)

      b.字符串 str

        b1   capitalize()  首字母大写

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 # 首字母大写 capitalize()
    5 test = "aLex"
    6 v = test.capitalize()
    7 print(v)

        b2   casefold() 所有变小写 包括特殊字符   lower() 所有英文字母变小写

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 # 所有变小写 casefold()  lower()
    5 test = "ShiQIanYu"
    6 v1 = test.casefold()
    7 print(v1)
    8 v2 = test.lower()
    9 print(v2)

         b3  center(width, fillchar=None)  width 代表总长度   fillchar 空白未知填充,一个字符,可有可无   两边填充

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = 'sqy'
    5 v = test.center(20,"*")
    6 print(v)

          b31  ljust(width, fillchar=None)   width 代表总长度   fillchar 空白未知填充,一个字符,可有可无  右边填充

            

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "alex"
    5 v = test.ljust(20,"*")
    6 print(v)

          b32  rjust(width, fillchar=None)   width 代表总长度   fillchar 空白未知填充,一个字符,可有可无  左边填充

            

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "alex"
    5 v = test.rjust(20,"*")
    6 print(v)

          b33  zfill(width) idth 代表总长度 默认左边填充0

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "alex"
    5 v = test.zfill(20)
    6 print(v)

          

            

        b4  count(sub, start=None, end=None)  去字符串中寻找,寻找子序列的出现次数     左闭右开

          

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 #str
     4 test = "aLexalexr"
     5 v = test.count('ex')
     6 print(v)
     7 
     8 test = "aLexalexr"
     9 v = test.count('ex',6,8)
    10 print(v)

        b5  以什么什么结尾 endswith(suffix, start=None, end=None)

           以什么什么开始startswith(suffix, start=None, end=None)

          

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 #str
     4 # 以什么什么结尾
     5 # 以什么什么开始
     6 test = "alex"
     7 v = test.endswith('ex')
     8 print(v)
     9 v = test.startswith('alex')
    10 print(v)

        b6  find(sub, start=None, end=None)   从开始往后找,找到第一个之后,获取其位置  找不到返回-1

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 # 从开始往后找,找到第一个之后,获取其未知
    5 # > 或 >=
    6 test = "alexalex"
    7 # 未找到 -1
    8 v = test.find('ex')
    9 print(v)

        b7   index(sub, start=None, end=None)  找不到,报错   忽略

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "alexalex"
    5 v = test.index('8')
    6 print(v)

        b8  format(*args, **kwargs) 格式化,将一个字符串中的占位符替换为指定的值

          

     1 # -*- coding:utf8 -*-
     2 #str
     3 test = 'i am {name}, age {a}'
     4 print(test)
     5 v = test.format(name='alex',a=19)
     6 print(v)
     7 
     8 test = 'i am {0}, age {1}'
     9 print(test)
    10 v = test.format('alex',19)
    11 print(v)

        b9  format_map(mapping)  格式化,传入的值 {"name": 'alex', "a": 19}  字典的形式

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 # 格式化,传入的值 {"name": 'alex', "a": 19}
    5 test = 'i am {name}, age {a}'
    6 v1 = test.format(name='df',a=10)
    7 print(v1)
    8 v2 = test.format_map({"name": 'alex', "a": 19})
    9 print(v2)

        b10  isalnum()  字符串中是否只包含 字母和数字  汉字

        

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 # 字符串中是否只包含 字母和数字 汉字
    5 test = "as123对的?"
    6 v = test.isalnum()
    7 print(v)

           b10a  isalpha()  是否是字母,汉字

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "as对的df"
    5 v = test.isalpha()
    6 print(v)

          b10b  isdecimal()<isdigit()<isnumeric()  当前输入是否是数字  判断的数字种类依次为

            

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "" # 1,② ,二
    5 v1 = test.isdecimal()
    6 v2 = test.isdigit()
    7 v3 = test.isnumeric()
    8 print(v1,v2,v3)

        

        b11  expandtabs(width)   断句   找到制表符/t  制表符两边的内容间隔的距离为width

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "username	email	password
    laiying	ying@q.com	123
    laiying	ying@q.com	123
    laiying	ying@q.com	123"
    5 v = test.expandtabs(20)
    6 print(v)

       b12  isprintable()  是否存在不可显示的字符  制表符  换行符

        

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = "oiuas	dfkj"
    5 v = test.isprintable()
    6 print(v)

        b13  isspace()  判断是否全部是空格

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 #str
    4 test = " 1"
    5 v = test.isspace()
    6 print(v)

        b14  istitle()  判断是否是标题   title() 转换为标题

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test = "Return True if all cased characters in S are uppercase and there is"
    4 v1 = test.istitle()
    5 print(v1)
    6 v2 = test.title()
    7 print(v2)
    8 v3 = v2.istitle()
    9 print(v3)

        b15  join(iterable)  字符串中的每一个元素按照指定分隔符进行拼接

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test = "你是风儿我是沙"
    4 print(test)
    5 # t = ' '
    6 v = "_".join(test)
    7 print(v)

        b16  islower()  isupper()  判断是否全部是小大写  lower()  upper()  转换为小大写

          

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 test = "Alex"
     4 v1 = test.islower()
     5 v2 = test.lower()
     6 print(v1, v2)
     7 
     8 v1 = test.isupper()
     9 v2 = test.upper()
    10 print(v1,v2)

        b17  strip(str)  去除两边str  lstrip(str)  去除左边str  rstrip(str)  去除右边str

          

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 # 移除指定字符串
     4 # 有限最多匹配
     5 test = "  
    xa  "
     6 #v = test.lstrip('xa')
     7 #v = test.rstrip('9lexxexa')
     8 #v = test.strip('xa')
     9 #print(v)
    10 
    11 #test.lstrip()
    12 #test.rstrip()
    13 #test.strip()
    14 #print(test)
    15 # 去除左右空白
    16 # v = test.lstrip()
    17 # v = test.rstrip()
    18 # v = test.strip()
    19 # print(v)
    20 # print(test)
    21 # 去除	 
    
    22 #v = test.lstrip()
    23 #v = test.rstrip()
    24 v = test.strip()
    25 print(v)

        b18   maketrans(src,dest)   src源内容  dest 目标内容  对应关系替换

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test =  "aeiou"
    4 test1 = "12345"
    5 
    6 v = "asidufkasd;fiuadkf;adfkjalsdjf"
    7 m = str.maketrans("aeiou", "12345")
    8 new_v = v.translate(m)
    9 print(new_v)

        b19  分割为三部分 分割内容包含str  partition(str) 从左边开始分割   rpartition(str)  从右边开始分割   分割为指定个数不包含str  split(str,num) str 分割内容  num 分割    splitlines(boo)  只能根据,true,false:是否保留换行

            

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 test = "testasdsddfg"
     4 # v = test.partition('s')
     5 # print(v)
     6 # v = test.rpartition('s')
     7 # print(v)
     8 
     9 v = test.split('s',1)
    10 print(v)
    11 test.rsplit()
    12 
    13 test = "asdfadfasdf
    asdfasdf
    adfasdf"
    14 v = test.splitlines(True)
    15 print(v)

        

          

         b20  swapcase()  大小写转换  小写转大写

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test = "aLex"
    4 v = test.swapcase()
    5 print(v)

        b21  字母,数字,下划线 : 标识符 def  class

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 a = "d2哈好的f"
    4 v = a.isidentifier()
    5 print(v)

        b22  将指定字符串替换为指定字符串 replace(self, old, new, count=None)

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test = "alexalexalex"
    4 v = test.replace("ex",'bbb')
    5 print(v)
    6 v = test.replace("ex",'bbb',3)
    7 print(v)        

        b23  ###################### 7个基本魔法 ######################

          # join       # '_'.join("asdfasdf")  # split  # find  # strip  # upper  # lower  # replace

        b24  ###################### 4个灰魔法 ######################

          B241  一、for循环

            

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 # test = "郑建文妹子有种冲我来"
     4 # for 变量名 in 字符串:
     5 #     变量名
     6 # break
     7 # continue
     8 
     9 # index = 0
    10 # while index < len(test):
    11 #     v = test[index]
    12 #     print(v)
    13 #
    14 #     index += 1
    15 # print('=======')
    16 
    17 # for zjw in test:
    18 #     print(zjw)
    19 
    20 test = "郑建文妹子有种冲我来"
    21 # for item in test:
    22 #     print(item)
    23 #     break
    24 
    25 for item in test:
    26     continue
    27     print(item)

        B242  索引,下标,获取字符串中的某一个字符

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test = "妹子有种冲我来"
    4 v = test[3]
    5 print(v)

        B243  三、切片

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test = "妹子有种冲我来"
    4 v = test[0:1] # 0=<  <1
    5 print(v)

        B244  四、获取长度

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 test = "妹子有种冲我来"
    4 # Python3: len获取当前字符串中由几个字符组成
    5 v = len(test)
    6 print(v)

          # 注意:  # len("asdf")  # for循环  # 索引  # 切片

        B245  五、获取连续或不连续的数字

          

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 # Python2中直接创建在内容中
     4 # python3中只有for循环时,才一个一个创建
     5 r1 = range(10)
     6 r2 = range(1,10)
     7 r3 = range(1,10,2)
     8 # 帮助创建连续的数字,通过设置步长来指定不连续
     9 v = range(0, 100, 5)
    10 
    11 for item in r3:
    12     print(item)

        b25      ###################### 1个深灰魔法 ######################

           # 字符串一旦创建,不可修改  # 一旦修改或者拼接,都会造成重新生成字符串

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 name = "shiqianyu"
    4 age = "18"
    5 info = name + age
    6 print(info)

        b26  练习题  根据用户输入的值,输出每一个字符以及当前字符所在的索引位置 #####

          

    1 #!/usr/bin/env python
    2 # -*- coding:utf8 -*-
    3 # 根据用户输入的值,输出每一个字符以及当前字符所在的索引位置
    4 usr = input("请输入值:
    ")
    5 index = 0
    6 while index < len(usr):
    7     print(index,usr[index])
    8     index += 1

     

     1 #!/usr/bin/env python
     2 # -*- coding:utf8 -*-
     3 # 根据用户输入的值,输出每一个字符以及当前字符所在的索引位置
     4 # test = input(">>>:
    ")
     5 # print(test)   # test = qwe   test[0]   test[1]
     6 # l = len(test) # l = 3
     7 # print(l)
     8 #
     9 # r = range(0,l) # 0,3
    10 # for item in r:
    11 #     print(item, test[item]) # 0 q,1 w,2 e
    12 
    13 test = input(">>>
    ")
    14 for item in range(0, len(test)):
    15     print(item, test[item])

        

    # 制作表格
    # 循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
    # 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐

     

     1 s = ""
     2 i = 1
     3 while i<3:
     4     name = input("请输入用户名:	
    ")
     5     pwd = input("请输入密码:	
    ")
     6     email = input("请输入邮箱:	
    ")
     7 
     8     template = "{0}	{1}	{2}
    "
     9     v = template.format(name,pwd,email)
    10 
    11     s = s + v
    12     i += 1
    13 print(s.expandtabs(20))
    View Code

     

          

      c  列表 list

      d 元组 tuple

      e 字典 dict

      f 布尔值 bool

      

          

          

  • 相关阅读:
    socket编程技巧(2)发送缓冲区和接收缓冲区的设置时机
    socket编程技巧(1)tcp接收接口(变长数据定长数据)的编写实例
    libnet介绍与分析
    TCP的6大标示符号
    数据帧中常见协议类型
    C语言中offsetof宏的应用
    ip欺骗(原始套接字系列九)
    ARP欺骗(原始套接字系列八)
    包分析(原始套接字七)
    了解Javascript中函数作为对象的魅力
  • 原文地址:https://www.cnblogs.com/sqy-yyr/p/10740964.html
Copyright © 2011-2022 走看看