zoukankan      html  css  js  c++  java
  • python 字符串(二)

    • 变量的命名和使用 

    1.变量名只能包含字母,数字和下划线。变量名可以字母或下划线打头,但不能以数字打头。例如:

     可将变量命名为  message_1 ,但不能将其命名为1_message。

    2.变量名不能包含空格,但可使用下划线来代替空格。

    3.不能将Python关键字和函数名用作变量名。如 print。

    4.变量名应既简短又具有描述性。例如,name 比 n 好,student_name 比 s_n 好。

    • 使用变量时避免命名错误

    名称错误通常意味着两种情况:

    1.使用变量前忘记赋值。

    2.输入变量时拼写不正确。

    • 字符串
      方法 事例
    使用方法修改字符串的大小写

    capitalize():仅第一个首字母大写

    title():将每个单词的首字母均改为大写

    upper():将字符串中内容全部改为大写

    lower():将字符串中内容全部改为小写

     

    >>>name = "li ZI"

    >>>print(name.capitalize())

    Li zi

    >>>print(name.title())

    Li Zi

    >>>print(name.upper())

    LI ZI

    >>>print(name.lower())

    li zi

    合并(拼接)字符串 +

    >>>first_name = "li"

    >>>last_name = "zi"

    >>>full_name = first_name + " " + last_name

    >>>print(full_name)

    li zi

    使用制表符或换行符来添加空白

    >>>print(" Python")输出结果:

           Python

    >>>print(" Python Java")输出结果:

    Python

    Java

    删除空白

    rstrip():删除末尾多余空白

    lstrip():删除字符串开头的空白

    strip():同时删除字符串两端的空白

    >>>language = "   Python   "

    >>>language

    "   Python   "

    >>>language = language.rstrip()  

    >>>language

    "   Python"

    >>>language.lstrip()

    "Python"

    >>>language.strip()

    "Python"

    计数

    count(""):统计字符串中某元素的个数

    >>>s = "so cool"

    >>>print(s.count("o"))

    3

    居中

    center(args,""):其中args可以为任意大小数值

    >>>s = "so cool"

    >>>print(s.center(50," "))

              so cool

    查找

    find(""):当字符串中某元素有重复时,

    只会输出第一个(从左至右)位置的下标

    >>>s = "socool"

    >>>print(s.find("o"))

    1

    判断结尾

    endswith(""):判断结尾是哪种格式

    >>>s = "so cool"

    >>>print(s.endswith(".com"))

    False

    格式化操作

    %s(%d):最常用的格式化操作符,该操作中

    填入的参数是元组;%s范围更广更常用

    format():了解即可

    >>>name = "{name} is {age}"

    >>>print("%s is %s" % ("lizi",18))

    lizi is 18

    >>>print(name.format(name="lizi",age=18))

    lizi is 18

    PS:以上事例中的代码均可用 cmd 验证

    字符串格式转换:

    例1.encode(encoding="utf-8"):utf-8 编码格式:是一种针对Unicode的可变长度字符编码,又称万国码,用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

    例2.encode(encoding="GBK"):GBK 编码格式:GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母)

    GBK内容详见:https://www.qqxiuzi.cn/zh/hanzi-gbk-bianma.php

    • 字符串内置方法:

    1.整个字符串大写变小写:casefold()

    1 s = "JSJDJFJKDJFJ"
    2 print(s.casefold())
    3 
    4 #输出结果:jsjdjfjkdjfj

    2.将字符串中的大小写互换:swapcase()

    1 s = "HJKqqowiDJFJK"
    2 print(s.swapcase())
    3 
    4 #输出结果:hjkQQOWIdjfjk

    3.判断字符串是否由数字或字母组成:isalnum()

    1 s = "sfef132445ghgg555"
    2 print(s.isalnum())
    3 
    4 #输出结果:True

    4.判断字符串是否由字母组成(包含大小写):isalpha()

    1 s = "sdhfhjaeAIEUIQUIR"
    2 print(s.isalpha())
    3 
    4 #输出结果:True

    5.判断字符串是否由数字组成:isnumeric()

    1 s = "1832343345"
    2 print(s.isnumeric())
    3 
    4 #输出结果:True

    6.判断字符串是否由整数组成:isdigit()

    1 s = "928394.33"
    2 print(s.isdigit())
    3 
    4 #输出结果:False

    7.判断字符串是否是十进制数:isdecimal()

    1 s1 = "18383"
    2 s2 = "1A"
    3 print(s1.isdecimal())
    4 print(s2.isdecimal())
    5 
    6 #输出结果:True
    7 #输出结果:False

    8.常用于二进制数的一种格式化操作:zfill(8)

    1 s = "10"
    2 print(s.zfill(8))
    3 
    4 #输出结果:00000010

    9.判断字符串是否是一个合法的标识符:isidentifier()

    1 s = "00_jdfkdfkg"
    2 print(s.isidentifier())
    3 
    4 #输出结果:False

    10.判断字符串是否是空格:isspace()

    1 s = "  "
    2 print(s.isspace())
    3 
    4 #输出结果:True

    11.判断字符串能不能打印(用途较少):isprintable()

    1 s = "dfnnjdfg3i45i385_"
    2 print(s.isprintable())
    3 
    4 #输出结果:True

    12. join格式化

    1 print("+".join(["1","2","3"]))
    2 
    3 #输出结果:1+2+3

    13.向左格式化打印:ljust()

    1 s = "dfrejhtrif"
    2 print(s.ljust(20,"+"))
    3 
    4 #输出结果:dfrejhtrif++++++++++

     14.向右格式化打印:rjust()

    2 print(s.rjust(20,"+"))
    3 
    4 #输出结果:++++++++dhfkrufrifrg

    15.从右向左查找:rfind()

    1 s="jfkdlssfds"
    2 print(s.rfind("s"))
    3 
    4 #输出结果:9

    16.自定义格式化(形成对照表),两边字符串长度必须一致:

    1 p=str.maketrans("1234267","abcdefg")
    2 print("5372".translate(p))
    3 
    4 #输出结果:5cge

    17.字符串替换:replace()

    1 s="bubbbbbunimovyisa"           
    2 print(s.replace("b","B",3)) 
    3 
    4 #输出结果:BuBBbbbunimovyisa

     18.字符串分割:split()

     1 s1 = "bcudsncusiabjdf"
     2 s2 = "1324+35456"
     3 l = s1.split("s")
     4 print(l)
     5 print(s2.split("+")[0])
     6 print(s2.split("+")[1])
     7  
     8 #输出结果:
     9 #['bcud', 'ncu', 'iabjdf']
    10 #1324
    11 #35456

    19.识别换行(主要针对于全部系统):

     1 s="1
    +26
    "
     2 print(s)
     3 print(s.split("
    "))
     4 print(s.splitlines())
     5 
     6 #输出结果:
     7 #1
     8 #+26
     9 
    10 #['1', '+26', '']
    11 #['1', '+26']

    20.字符串不允许被修改:

     1 s="fengnaifds"         
     2 l=[1,2,3,4]            
     3 print("列表修改前:",id(l))          #这里的id是用来查询内存地址的
     4 l.append("fiwe")       
     5 print("列表修改后:",id(l))  
     6 print("字符串修改前:",id(s)) 
     7 s=s+"jfi"              
     8 print("字符串修改后:",id(s)) 
     9 
    10 #输出结果:
    11 #列表修改前: 1722790142536
    12 #列表修改后: 1722790142536       #列表修改前后内存不变,可被修改
    13 #字符串修改前: 1722820726320
    14 #字符串修改后: 1722820957040     #而字符串修改后内存地址改变,产生了新地址,所以绝对不能被修改!!

     

     

  • 相关阅读:
    小程序锚点使用过程
    小程序的生命周期
    微信小程序npm找不到npm包,没有找到可以构建的NPM包
    初次使用git上传代码
    JSON.parse和JSON.stringify
    vue-router Uncaught (in promise) undefined报错
    moment的安装与使用
    http://m3.codeforces.com/contest/1296/problem/E2
    题解 Codeforces Round #616 (Div. 2) (CF1291)
    codeforces 1257
  • 原文地址:https://www.cnblogs.com/Chestnut-g/p/9702353.html
Copyright © 2011-2022 走看看