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

 

 

原文地址:https://www.cnblogs.com/Chestnut-g/p/9702353.html