zoukankan      html  css  js  c++  java
  • python基础知识(字符串)

    定义字符串

    ' '单引号 " "双引号  只能用于单行

    '" '"三引号  可以用于多行

    拼接字符串使用  +号链接

    字符串只能链接字符串其他类型字符串需要用str()进行转换后相加

    计算字符串的长度

    字母、数字、. 小数点、_下划线、 空格 占一个字节

    汉子一般占2~4     utf-8 占3个字节

    len()  计算字符串函数  获取字符个数

    gdk或者2312  汉子为2个字节

    str1 =  "人生苦短,我用python!"

    print(len(str1.encode()))     #计算utf-8的字符长度

    encode()表示utf-8的字符编码   

    encode("gbk")   表示gbk编码

    截取字符串

    字符串属于序列

    可以用切片来进行

    string[起始值:结束值:步长]

    切片时 字符串不存在不会报错

    索引不存在会出现报错

    捕获异常

     try:

         print(str1[不存在的值])

    except  IndexError:
         print("索引不存在")

    p1 = "你知道我的生日吗?"
    print("程序员甲说:",p1)
    p2 = "输入你的身份证号吗:"
    print("程序员乙说:,p2")
    idcard = "123456789112345"
    print("程序员甲说:",idcard)
    birthday = idcard[6:10] + "年" + idcard[10:12] + "月" + idcard[12:14] + "日"
    print("程序员乙说:你是" + birthday +"出生的,所以你的生日是" + birthday[5:])

    分割和合并字符串

    分割字符串

    split()

    listname  = str.split(sep,maxsplit) 

    sep来指定分割符的  可以包含多字符默认是空白符 (空格、换行符 、
    、制表符、 )

    maxsplit来表示分割次数、如过我们不指定、或者把值赋值为-1那么表示没有限制能分割多少就分割多少,如果有分割次数那么就分割指定次数+1  ,当使用分割次数参数时候如果指定参数了,那么sep就是必选参数

    alt + p调用上一次使用的代码

    str1 = "@我 @扎克伯格 @俞敏洪 @勤奋的天使"
    list1 = str1.split(" ")       #用空格分割字符串
    for item in list1:
    print(item[1:])            #输出每个好友并且去掉@


    扎克伯格
    俞敏洪
    勤奋的天使

    合并字符串

    join

    strnew = string.join(iterable)

    string合并时的分隔符  字符串

    iterable 可迭代对象 (可以是列表。元组) 中所有对象以字符串来表示

    list1 = ["我","扎克伯格","俞敏洪","勤奋的天使"] #好友列表
    str1 = " @".join(list1) #用空格和@进行链接
    at = "@" + str1 #第一个@我没有@所以要+@
    print("你要@的好友为:",at)

    你要@的好友为: @我 @扎克伯格 @俞敏洪 @勤奋的天使

    检索字符串

    count()   检索一个字符串在另一个字符串中出现次数

    str.count(sub[,start[,end]])    如果不存在为0 ,如果存在显示次数

    sub表示要检索的子字符串  start表示检索的起始位置  end表示检索的结束位子,可选参数

    find()  index()    检索是否包含此字符串的

    str.find(sub[,start[,end]])  和count类似 返回值是0表示该函数首次出现在第一位

    没有找到返回-1    rfind() 从右开始查找

    str.index(sub[,start[,end]])  如果没有会抛出异常   rindex()从右开始查找

    startwith()是否以此字符串开头

    str.startswith(prefix[,start[,end]])   

    endswith()是否以此字符串结尾的

    str.endswith(prefix[,start[,end]])   

    字母的大小写转换

    大写转小写

    lower()

    对象名.lower()

    小写转大写

    upper()

    对象名.upper()

    去除字符串中的空格和特殊字符

    特殊字符  制表符 回车符 换行符

    strip()去除字符串两边的空格和特殊字符

    str.strip([chars])   指定去除字符,没有指定去除   制表符 回车符 换行符 空格

    lstrip()去除左侧  空格和特殊字符

    str.lstrip([chars]) 

    rstrip()去除右侧   空格和特殊字符

    str.rstrip([chars]) 

    格式化字符串

    使用%操作符

    '%[-][+][0][m][.n]格式化字符‘’%exp

    使用字符串对象的format()方法

    str.format(args)

    {[index][:[fill]align][sign][#][width][.precision][type]]}

    index   可选参数如果指定的话那么设置格式对象,在参数列表当中的索引位置从0开始

    fill 空白处填充字符对齐方式值     <左对齐   >右对齐  =左对齐,并且把填充内容放在最右侧

    sign有无符号   正数  +  负数 -   空格  正数+  空格

    #  指定2、8、16是否加前缀  

    二进制 0B  八进制0O  十六进制0x

  • 相关阅读:
    剑指 Offer 67. 把字符串转换成整数 && Leetcode 8 字符串转换整数 (atoi)
    剑指 Offer 49. 丑数 && Leetcode 264. 丑数 II
    [LeetCode] Implement strStr()
    [LeetCode] Rotate Image
    [LeetCode] Remove Duplicates from Sorted List II
    [LeetCode] Gas Station
    OpenCV-paper detection & perspective transformation 相关资料
    Install PIL on mac osX10.9
    为什么是 n(n+1)/2 ?
    数组排序
  • 原文地址:https://www.cnblogs.com/zhangjiantaocs/p/11801809.html
Copyright © 2011-2022 走看看