- 变量的命名和使用
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 |
使用制表符或换行符来添加空白 | \t \n | >>>print("\tPython")输出结果: Python >>>print("\nPython\nJava")输出结果: 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\n+26\n"
2 print(s)
3 print(s.split("\n"))
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 #而字符串修改后内存地址改变,产生了新地址,所以绝对不能被修改!!