python字符串的定义、切片、格式化、函数

字符串html

  • 单引号、双引号均可以定义字符串,三引号容许一个字符串跨多行
  • name1='Honey'  #单引号
    name2="Tom"    #双引号
    html='''       #三引号
    <html>
    <head></head>
    <body>
        <p>你好,2018!</p>
    </body>
    </html>
    '''
    print(html,name1,name2)

切片python

  • 能够使用中括号和下标来获取单个字符或截取字符串,格式为[]、[ : ]、[ : : ]
  • str="569809857@qq.com";
    print(str[0]);#第一个字符
    print(len(str));#获取str的长度
    print(str[15]);#获取最后一个字符
    print(str[len(str)-1]);#获取最后一个字符
    print(str[-1]);#获取最后一个字符
    print(str[:5]);#表示截取从下标0开始,到下标4结束(不包含5)
    print(str[:]);#表示获取全部
    print(str[5:]);#表示截取从下标5开始,到结尾结束
    print(str[-5:]);#"-"号表示从后往前数,表示截取从下标-5开始,到结尾结束
    print(str[-5:-2]);#表示截取从下标-5开始,到下标-2结束(不包含-2)
    print(str[::]);#表示获取全部
    print(str[-1:-5:-1]);#表示从下标-1开始,倒数到-5结束
    print(str[::-1]);#表示倒叙

字符串一些用法git

  • in:判断是否在些字符串中存在 bool
  •  not in:判断是否不在此字符串中
  •  r/R:原样输出字符串,如一些特殊字符串"\n",'\t'
  • #字符串一些用法:
    email="hang@bdqn.cn";
    print("an in email:"+ str('an' in email));#in 用于判断某些字符是否存在在某个值内
    print("at not in email:"+ str('at' not in email));#not in 用于判断某些字符是否不存在在某个值内
    # r/R:原样输出字符串,如一些特殊字符串"\n",'\t'
    print("hello\tpython");#\t 表明一个制表符(空格)
    print(R"\n 换行符");

字符串格式化api

  • %s格式化字符串、%d 格式化整数、%f 浮点数、%2f 保留两位小数且四舍五入
  • .format()格式化:若是以name开头,其后的变量均需以键值的形式出现
  • #字符串格式化:%s字符 %d整数 %f浮点型 %.2f保留两位小数且四舍五入
    print("name:%s"%'tom');
    print("name:%s age:%d money:%.2f"%('tom',33,90.456))
    #.format()格式化:若是以name开头,其后的变量均需以键值的形式出现
    print("name:{0},age:{1}".format("赵博",25));
    print("name:{name} age:{age}".format(name="赵博",age=25));
    #想输出{}则输出两个{{}}、想输出{0}则输出两个{{}}
    print("name={{0}}".format("tom"));
    print("name={{{0}}}".format("tom"));

字符串中的函数函数

  • #字符串中的函数:
    word="Hello python";
    print(len(word));#字符串长度
    #count(str,start=0,end=len(word));#用于查询字符串中某个值出现的次数
    print("字符串中O的次数:{0}".format(word.count("on"),0,7));#0,7的含义是从0开始,到7结束,规定查找范围
    print(word.capitalize());#将字符串中的第一个字符转换为大写
    print(word.title());#将每一单词首字母大写
    #find() vs index():若是找不到,index()产生异常,find()则返回-1
    print("h in word of index:{0}".format( word.find('q')));
    #rfind 从右面开始找 beg-end 指定一个范围
    print("h in word of index:{0}".format( word.rfind('h',-13,-1)));
    #index():没有则抛出异常。
    print("h in word of index:{0}".format( word.index('h')));
    #replace():mystr.replace("ll","LL"),可是原字符串不会被改变
    print(word.replace("hello","nihao:"));
    word=word.replace("hello","nihao:");
    print(word);
    #split(str="", num=string.count(str));若是split()什么都不写,就是将经过\t和空格进行拆分 num=分割几回
    s=word.split("l",3);
    print(s);

小练习:验证邮箱是否合法,要求:@在.的前边,若是合法获取用户名部分orm

  • email=input("请输入您的邮箱:");
    a=email.find("@");
    if a==-1:
     print("邮箱错误 没有包含 @ ");
    elif(a==0):
     print("邮箱错误 @不能出如今第一位 ");
    elif(email.find(".")==-1):
     print("邮箱错误 没有包含 . ");
    elif(email.find(".")<email.find("@")):
     print("邮箱错误  . 的位置应该在@ 后面。。 ");
    else:
     print("邮箱合法 用户名是{0}".format( email[:a] ));

验证以XX开头htm

  • #验证以XX开头
    phone="15510000000@163.com";
    print(phone.startswith("155"));
    print(phone.endswith("1040"));
    print(phone.upper().lower());
    name="  liSi";
    #字符串输出时怎样对齐,括号里写大小 达到一个新的高度 以什么填充
    name=name.ljust(10," ");
    print(name);
    #strip(),lstrip(),rstrip()#去除空格
    print(name.strip());#去除空格
    print(name.lstrip());#去除左空格
    print(name.rstrip());#去除右空格
    name="hello-python-world";
    print(name.split("-"));#拆分
    print(name.partition(" "));#partition();mystr.partition("xxx")以此字符串为节点拆分
    # 返回头、分割符、尾三部分 返回头、尾两个空元素的3个元组。
    name="hellopython\nworld说的";
    #splitlines(bool keepends):按照换行符进行拆分,
    print(name.splitlines(True)[0]);
    # isalpha():判断字符串是不是字母 true false
    print(name.isalpha())
    # isdigit():判断字符串是不是数字 true false
    name="33890的见解";
    #isdigit():判断字符串是不是全是数字 true false
    print(name.isdigit())
    # isalnum():判断字符串是不是数字和字母 true false
    name="发abc123";
    print(name.isalnum())
    #join(sequence): 将列表组成新的字符串,
    # mystr.join(" sequence") sequence 表示要拼接列表 mystr表示链接项
    s="-";
    word=("a",'b','c');
    print(s.join(word))
相关文章
相关标签/搜索