字符串切片就是截取字符串,取子串。Python中字符串切片方法为:
“字符串[开始索引:结束索引:步长]”
截取字符串为开始索引到(结束索引-1)内的字符串,步长不指定时步长为1:字符串[开始索引:结束索引]。
n = '123456789'
print(n[2:]) # 如果只有开始索引,没有结束索引,则代表从开始索引到字符串最后
print(n[:5]) # 如果只有结束索引,没有开始索引,则表示索引从0开始到结束索引前一个字符
print(n[2:5]) # 如果开始和结束索引均设置,则输出指定的内容(左闭右开)
print(n[::2]) # 如果需要跳一位输出,则要设置步长
print(n[:-1]) # 取字符串最后一个字符之前的所有字符
print(n[-1]) # 取字符串最后一个字符
运行结果:
3456789
12345
345
13579
12345678
9
a ="hahaha"
print(a.count("a"))
print(a.count("b"))
运行结果:
3
0
a ="hahaha"
print(a.find("a"))
print(a.find("b"))
print(a.find("ha"))
运行结果:
1
-1
0
a ="hahaha"
print(a.index("a"))
print(a.index("ha"))
运行结果:
1
0
un="姓名:{name},年龄:{age}"
print(un.format(name="xiaoli",age=20))
运行结果:
姓名:xiaoli,年龄:20
un="姓名:{name},年龄:{age}"
print(un.format_map({
"name":"xiaoli","age":20}))
运行结果:
姓名:xiaoli,年龄:20
print(" abc".strip())
print("abc ".strip())
print(" abc ".strip())
print(" a b c ".strip())
运行结果:
abc
abc
abc
a b c
print(" dksjfak ".lstrip())
运行结果
dksjfak
print(" dksjfak ".rstrip())
运行结果:
dksjfak
print(" ".isspace())
print(" 1".isspace())
print("".isspace())
运行结果:
True
False
False
print("今天".isalpha())
print("123".isalpha())
运行结果:
True
False
print("HHHeee".upper())
运行结果:
HHHEEE
print("HHHeee".lower())
运行结果:
hhheee
print("xiaowang,xiaoli".replace(",","\n"))
运行结果:
xiaowang
xiaoli
f = "xiaowang,xiaoli,xiaobai,xiaohong"
new_f=f.split(",")
print(new_f)
运行结果:
['xiaowang', 'xiaoli', 'xiaobai', 'xiaohong']
print("egda".startswith("e"))
运行结果:
True
print("egda".endswith("e"))
运行结果:
False
list1=[1, 4, 7, 2, 4, 9, 7, 5, 9, 18]
list1.reverse()
print(list1)
运行结果
[18, 9, 5, 7, 9, 4, 2, 7, 4, 1]
list1=[1, 4, 7, 2, 4, 9, 7, 5, 9, 18]
list1.sort()
print("升序:",list1)
运行结果:
升序: [1, 2, 4, 4, 5, 7, 7, 9, 9, 18]
list1=[1, 4, 7, 2, 4, 9, 7, 5, 9, 18]
list1.sort(reverse=True)
print("降序:",list1)
运行结果:
降序: [18, 9, 9, 7, 7, 5, 4, 4, 2, 1]
d = {
key1 : value1, key2 : value2 }
user={
} #创建一个空字典
new_user={
"name":"xiaoli","age":18,"address":"beijing"}
print(user)
print(new_user)
运行结果:
{
}
{
'name': 'xiaoli', 'age': 18, 'address': 'beijing'}
new_user={
}
new_user["name"]="xiaozhang"
new_user["age"]=18
new_user["interest"]=['计算机',"英文","跑步"]
new_user['score']=95.5
print(new_user)
运行结果:
{
'name': 'xiaozhang', 'age': 18, 'interest': ['计算机', '英文', '跑步'], 'score': 95.5}
user={
"name":"xiaoli","age":18,"address":"beijing"}
del user["name"] # 指定字典中的key删除
print(user)
运行结果:
{
'age': 18, 'address': 'beijing'}
user={
"name":"xiaoli","age":18,"address":"beijing"}
print(user.pop("name")) # pop()可将删除的数据打印出来
print(user)
运行结果:
xiaoli
{
'age': 18, 'address': 'beijing'}
更改字典中的数据,就是做重写操作。
user={
"name":"xiaoli","age":18,"address":"beijing"}
user["age"]=20
print(user)
运行结果:
{
'name': 'xiaoli', 'age': 20, 'address': 'beijing'}
user={
"name":"xiaoli","age":18,"address":"beijing"}
for i in user.keys():
print(i ,"的值是:",user[i])
运行结果:
name 的值是: xiaoli
age 的值是: 18
address 的值是: beijing
user={
"name":"xiaoli","age":18,"address":"beijing"}
for i in user.values():
print(i)
运行结果:
xiaoli
18
beijing
user={
"name":"xiaoli","age":18,"address":"beijing"}
for i in user.items():
print(i)
运行结果:
('name', 'xiaoli')
('age', 18)
('address', 'beijing')
user={
"name":"xiaoli","age":18,"address":"beijing"}
for k,v in user.items():
print(k,v)
运行结果:
name xiaoli
age 18
address beijing
Python 的元组与列表类似,不同之处在于
tup1 = (50)
print(type(tup1))
tup2 = (50,)
print(type(tup2))
运行结果:
<class 'int'>
<class 'tuple'>
Python 的元组与列表共同点:取值及常用方法类似,只要不修改元祖数据的操作都可以执行。
t=(0,1,2,3,4)
l1=[0,1,2,3,4]
print(t)
print(l1)
print(t.index(1))
print(t.count(2))
运行结果:
(0, 1, 2, 3, 4)
[0, 1, 2, 3, 4]
1
1
l1 = [1, 2, 3]
t = tuple(l1)
print(t)
print(type(t))
运行结果:
(1, 2, 3)
<class 'tuple'>
t=(1,2,3)
l=list(t)
print(l)
print(type(l))
运行结果:
[1, 2, 3]
<class 'list'>
l1=[1,3,5,6,5,2,8,5,1,3,20]
s1=set(l1)
l2=list(s1) # 将集合转换为列表
s2=set() # 定义一个空集合
print(s1)
print(l2)
print(s2)
运行结果:
{
1, 2, 3, 5, 6, 8, 20}
[1, 2, 3, 5, 6, 8, 20]
set()
s1 = {
1,2,3,4,5,6}
s1.add(5)
s1.add(9)
print(s1)
运行结果:
{
1, 2, 3, 4, 5, 6, 9}
s1={
1,2,3,4}
s2={
2,3,4,5}
s1.update(s2)
print(s1)
运行结果:
{
1, 2, 3, 4, 5}
s1={
1,2,3,4}
s2={
2,3,4,5}
s3=s1.intersection(s2)
print(s3)
运行结果:
{
2, 3, 4}
s1={
1,2,3,4}
s2={
2,3,4,5}
s3=s1.union(s2)
print(s3)
运行结果:
{
1, 2, 3, 4, 5}
s1={
1,2,3,4}
s2={
2,3,4,5}
s3=s1^s2
print(s3)
运行结果:
{
1, 5}
Python程序语言指定任何非0和非空(none)值为true,0 或者 None为false
# str 空/非空字符串
print(bool(None))
print(bool(''))
print(bool("1"))
#list 空和有参数
print(bool([]))
print(bool([1]))
#dict 空和有参数
print(bool({
}))
print(bool({
"name":"lili"}))
运行结果:
False
False
True
False
True
False
True
Python打开文件使用open()方法,一般基础语法为:
open(file, mode=‘r’, encoding=)
file: 必需,文件路径(相对或者绝对路径),文件在当前代码文件路径下可以直接写文件名,使用绝对路径时一般加r’,表示取原字符
mode: 可选,文件打开模式
encoding: 一般使用utf8
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头,文件打开模式不写默认为r模式 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头 |
file=open("a.txt",encoding="utf-8")
print(file.read()) # 全部读取出来
file.close()
运行结果:
1234
a123
fj
大富科技
嗯嗯嗯
file=open("a.txt",encoding="utf-8")
print("readline::",file.readline(3))
file.close()
运行结果:
readline:: 123
file=open("a.txt",encoding="utf-8")
print("readlines:::",file.readlines()) # 将数据转为一个list
file.close()
运行结果:
readlines::: ['1234\n', 'a123\n', 'fj\n', '大富科技\n', '嗯嗯嗯']
file=open("a.txt",encoding="utf-8")
for line in file.readlines():
print("line:::",line.strip())
file.close()
运行结果:
line::: 1234
line::: a123
line::: fj
line::: 大富科技
line::: 嗯嗯嗯
file=open("a.txt",encoding="utf-8")
for line in file:
print("line:::", line.strip())
file.close()
运行结果:
line::: 1234
line::: a123
line::: fj
line::: 大富科技
line::: 嗯嗯嗯