zoukankan      html  css  js  c++  java
  • 字符串

    1.基本数据类型概况
       1.int  整数
       2.str   字符串
       3.bool   布尔值
       4.list >= []   列表,一般存放大量数据,举例:["门神xxxx","元素","人名xxx"]      取值的话直接按照位置取s[0], s[1]   5.tuple  >= () 元组, 只读列表,只能看啥也不能干.(元素,元素)
       6.dict  >= {}  字典.{"王力宏","sho","等等"}
       7.set  >= ()  集合,不重复 .{"王力宏","sho","等等"}
       8.bytes   一堆字节,最小数据单元
    2.int类型的相关操作
    数字没办法执行其他操作,操作只有  +,-,*,/,//,%,**
    8bit = 1byte
    bit_length()  显示二进制长度
    a = 5   # 1+1+1+1+1=101
    print(a.bit_length())
    b = 17
    print(b.bit_length())
    c = 1   #1变成二进制是1
    print(c.bit_length())
    d = 2   #2变成二进制是10,逢二进一
    print(d.bit_length())
     
    3.bool类型的操作,基本类型转换的问题
    bool类型没有操作,
    字符串  >= 数字    int()
    数字  >=  字符串   str()
    x   >=  y类型   y(x)
    a = 10
    print(type(a))   #<class 'int'>
    b = str(a)
    print(type(b))    # <class 'str'>
    结论一:想把XXX数据转化成yy类型的数据.yy()
    把数字转化成bool
    a = 10
    print(bool(a))  #True
    print(bool(1))   #True
    print(bool(0))  #false
    print(bool(-1))  #True
    0是false,非零是True
    print(bool("哈哈")) # True
    print(bool(" ")) # 空格是True
    print(bool("")) # 空字符串是false
    结论二:能够表示false的数据:0,"",[],{},set(),tuple(),None,false(空字符串表示false,所有的空可以表示false)
    print(bool([]))  # False 空列表
    print(bool({}))   # False 空字典
    print(bool(set()))   # False 空集合
    None 空,真空
    print(bool(None))   #false
    # while 1:  # while True: # 底层一定会有 True => 1的过程
    #     print("还我钱")
    4.str 认识字符串(重点,多)
    字符:单一的文字符号
    字符按照固定的顺序连成串
    字符串:被''或者""'或者'''或者"""括起来的内容就是字符串
    索引:  编号,顺序  从0开始
    索引使用[下标]获取数据,索引还可以到这数,起始位置 -1
    s = "今天中午吃胡辣汤"
     
    # 索引使用[下标]获取数据
    print(s[3])   #午
    print(s[2])   #中
     
    print(s[-5])  #午
    print(s[-3])  #胡
    print(s[-6])   #中
    切片  s[start:end:step]     start:开始    end:结束,取不到    step:步长,控制方向,每xxx个取一个(+代表从左往右取值,-代表从右往左取值)
    切片:从一个字符串中截取出一部分字符串
          [strat:end]    顾头不顾尾,end取不到,默认的是从左往右切.
    s = "中间的,你们为什么不说话.难受"
    print(s[3:7])  # ,你们为
    print(s[5:9])  # 们为什么
    print(s[-3: -7])  # 切不到东西, 默认是从左往右切
    print(s[-7: -3])  # 么不说话
    print(s[:6])  # 从头开始切
    print(s[6:])  # 切到末尾
    print(s[:])  # 从开始到结束
        [start:end;step]  步长step:默认是1,每xxx个取一个,默认是从左往右切
    s = "abcdefghiklmn"
    print(s[::2])    #acegiln
    print(s[1:5:3])  #be
    print(s[7:3])    # 默认步长1 从左往右切
    print(s[7:3:-1])  # 从右往左切,顾头不顾尾,取第7位不取第3位,反过来取值
    # step可以控制方向. 如果step是正数. 从左往右切. 如果是负数 . 从右往左切
    print(s[-1:-8: -2]) # nljh
          step可以控制方向,如果step是证书,从左往右切,如果是负数,从右往左切
    s = "分出你我的什么队不是迅达看得开科技联合"
    print(s[3:9])   #我的什么队不
    print(s[-2:-7:-2])    #联科得
    print(s[3::-3])     #我分
    print(s[::-1])  #合联技科开得看达迅是不队么什的我你出分
      判断是否是回文
    s = "黄山落叶松叶落山黄"
    s2 = s[::-1] # 翻过来
    if s == s2:
        print("是回文")
    else:
        print("不是回文")
      一大波操作
    字符串是不可变的类型,不论如何操作,对原来的字符串是不会有任何改变
    s1    capitalize()   把首字母变成大写,返回给你一个新的字符串
    s = "qwertuio"
    s1 = s.capitalize()
    print(s1)
      title()  标题,把字符串中每个单词的首字母大写
    s = "qwertuio"
    s1 = s.title()
    print(s1)
    1. upper() 转换成大写,忽略大小写(主要是用在验证码)
    s = "alex sb dsb bigsb"
    s1 = s.upper()
    print(s1)
    while True:
        content = input("请输入你要说的话 输入Q退出:")
        if content.upper() == "Q": # 当需要忽略大小写的时候
            break
        print("你想对打野说", content)
     # 验证码
     verifyCode = "aEmn"
     veri = input("请输入你的验证码(%s)" % verifyCode)
     if veri.upper() == verifyCode.upper(): # 忽略掉用户输入的大小写
         print("验证码是正确的")
     else:
         print("验证码错误")
    lower() 转换成大写,忽略大小写(主要是用在验证码)
    lower() 和upper()相反
    center()   中间,居中,括号里面的是长度
    s = "alex"
    s6 = s.center(10, "*") # 长度, 用_填充
    print(s6)
    strip()  去掉左右两端的空白(空格,  ,      ),所有用户输入的内容都要去空白,中间的内容不会动    就是tab,    是换行
    s = " alex    is      sb      "
    print(s)
    s1 = s.strip() # 去掉左右两端的空白(空格, , ), 中间的内容不会动
    print(s1)
    结果:alex    is      sb
    uname = input("请输入你用户名:").strip()  # 干掉用户的空格
    upws = input("请输入你的密码:").strip()  # 干掉用户的空格
    if uname =="alex" and upws == "123":
        print("登录成功")
    else:
        print("登录失败")
     
    s = "sbalexsbwusirsb"
    print(s.strip("sb")) # 去掉左右两端的sb
     2.字符串的替换
    replace(old,new) 把old换成new
    s = "       good alex good wusir good 大虾 good 胡辣汤     "
    s8 = s.replace("good", "sb")     # 把s中的good替换成sb
    print(s8)
    s9 = s.replace(" ", "")
    print(s9)
    s10 = s.replace("good", "sb", 2) # 字符串替换2次
    print(s10)
    字符串的切割  split  切出来的结果互放到列表中,刀如果把头切割,一定有空字符串
    s = "alex 昨天给我们涨工资了? 不可能"
    lst = s.split("alex") # 切出来的结果会放在列表中, 刀如果把头了. 一定会产生空字符串
    print(lst)
    #['', ' 昨天给我们涨工资了? 不可能']
    s = "不知道你这个是什么,你在说一次"
    s1 = s.split("不知道")
    print(s1)
      #['', '你这个是什么,你在说一次']
    startswith()判断是否已什么开头,endswith()判断是否已什么结尾.
    name = input("请输入你的名字:")  # 张开
    if name.startswith("张"):
        print("领钱")
    else:
        print("不领钱")
    count()计数
    s = "alex 昨天给我们涨工资了? 不可能"
    lst = s.count("x") # 切出来的结果会放在列表中, 刀如果把头了. 一定会产生空字符串
    print(lst)
    结果:主要记住这个数字出现的次数
    find()查找,如果存在,返回索引,如果不存在返回-1
    s = "滋滋冒油的猪蹄子"
    print(s.find("牛")) # 用这个
    结果:-1
    index()如果找到了返回索引,找不到,报错
    条件判断   
    isalpha() 是否有基本的文字组成,是否是有字母组成(包括中文)
    isdigit()   判断时候是数字组成     digit  数字  %d
    len()   字符串长度,内置函数
    s = "6690701704707"
    print(len(s))   #13
     # 用while循环. 获取到每一个字符
     i = 0  # 索引
     while i < len(s):
         print(s[i])
         i += 1
    for变量in  可迭代的对象:       无法看到字符的索引
              循环体(break,countinue)
    for c in s: # c: charactor(字符) s: string
                print(c)
     
  • 相关阅读:
    Python基本数据类型
    Python内存相关
    Python运算符和编码
    js比较日期大小 判断日期
    js判断一个数是不是正整数
    sql查询排序
    js获取select标签选中的值
    PL/sql配置相关
    搜狗的好玩用法
    Oracle数据库中的dual表
  • 原文地址:https://www.cnblogs.com/yanghongtao/p/10034861.html
Copyright © 2011-2022 走看看