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     #而字符串修改后内存地址改变,产生了新地址,所以绝对不能被修改!!

     

     

  • 相关阅读:
    linux 解压tgz 文件指令
    shell 脚本没有执行权限 报错 bash: ./myshell.sh: Permission denied
    linux 启动solr 报错 Your Max Processes Limit is currently 31202. It should be set to 65000 to avoid operational disruption.
    远程查询批量导入数据
    修改 MZTreeView 赋权节点父节点选中子节点自动选中的问题
    关于乱码的问题解决记录
    我的网站优化之路
    对设计及重构的一点反思
    我的五年岁月
    奔三的路上
  • 原文地址:https://www.cnblogs.com/Chestnut-g/p/9702353.html
Copyright © 2011-2022 走看看