1.字符串的拼接方式
(1) + : ‘北京’+‘你好’(可用于简单字符串拼接,效率低)
(2) list拼接:
list_str = ['ni', 'hao', 'bb']
str2 = ' '.join(list_str)
#单引号里用于分割,如‘11’则打印出来为 ni11hao11bb
print(str2)
(3) format 拼接:
str1 = ' i love {0},{1} love {2}'.format('u', 'i', 'u')
str2 = ' i love {name1},{name2} love {name3}'.format(name1='u', name2='u', name3='python')
# 通过字典设置参数
site = {
"name": "菜鸟教程", "url": "www.runoob.com"}
str3= "网站名:{name}, 地址 {url}".format(**site)
2.字符串的切片
str4="123456"
print(str4[:])#123456
print(str4[:-1])#12345
print(str4[:-2])#1234
print(str4[::2])#135
print(str4[::-1])#654321
3.字符串常见方法
str4.replace('12', '90')#替换
str4.find('4')#定位,查找失败返回-1
str4.index('4')#定位,查找失败抛出异常
str4.count('4')#查找子字符串出现的次数
str5="1,2,3,4,5"
print(str5.split(','))#字符串的分割,返回['1', '2', '3', '4', '5']
4.list操作
classmates = ['yh', 'xb', 'xm']
print(classmates[1], classmates[-1])#xb xm
classmates.append('xx')
classmates.insert(1, 'mm')#['yh', 'mm', 'xb', 'xm', 'xx']
classmates.pop(3)#['yh',$$ 'mm', 'xb', 'xx']
s = ['p', 'y', ['t', 'h', ['o', 'n']]]
print(s[2][2][1])# n
5.元组
元组与列表类似,但
元组的元素不可修改
元组写在小括号里(),元素之间用逗号隔开
元组中的元素类型也可以不同
同样支持切片
如果元组只有一个元素,那么写成(1,),不要写成(1)
因为元组是不可变类型,所以可以作为字典的键值
访问和处理速度比list快\
list1 = ['A', 'B']
tuple1 = ('a', 'b', list1)
#tuple1[1] = 'c'#报错TypeError: 'tuple' object does not support item assignment
tuple1[2][0] = 'C'
print(tuple1)# ('a', 'b', ['C', 'B'])
#list是引用类型,存放的是一个地址,tuple也是引用类型,tuple[2]存放的是地址,tuple只能保证存放的地址不变,不能保证存放的地址指向的内容不变
6.字典
字典是无序集合对象,元素通过 key-value键值对存取
字典是一种映射类型,用’{}'标识
key必须使用不可变类型,在同一个字典当中,key必须唯一
创建空字典用{}
d = {
'xm': 90, 'xh': 100, 'xg': 99}
#d['th'] #报错,keyerror
print(d.get('th','查找不到'))#此方法当查找不到时,返回自定义内容
7.集合
集合是一个无序不重复元素的序列
可以用大括号或set()函数创建集合,创建空集合必须使用set(),因为{}是创建一个空字典
集合之间可以进行:差集- 交集& 并集| 反交集^
8.for in循环
(1)在for循环中不仅要打印列表中的数值,并且要打印列表的下标:
list1 = [1, 2, 3, 4, 5]
for i, n in enumerate(list1):
print(i, n) #i是下标,n是元素
(2)遍历字典的两种办法:
dic1 = {
'name': 'xh', 'age': 18}
for i in dic1:
print(i, dic1[i])
for i, n in dic1.items():
print(i, n)
(3)遍历嵌套数据结构:
list2 = [('name', 'xx'), ('age', 30)]
for n1, n2 in list2:
print(n1, '=>', n2)
9.函数
def 函数名(参数···):
```
在此处声明函数文档
```
函数功能代码···函数名._doc_ 直接输出显示函数文档的内容
可变参数:
def 函数名(*args):
for n in args:
···
=========================================================
def func1(*args):
sum = 0
for n in args:
sum = sum + n
return sum
print(func1(1, 2, 3, 4, 5))
list1 = [1, 2, 3, 4, 5]
print(func1(*list1))
关键字参数:
def student(name, age, **kw):#与一个*区别,*是零个或多个参数,**是零个或多个关键字参数
print("name={},age={},others={}".format(name, age, kw))
student('yh', 18, sex='male', region='china')
#name=yh,age=18,others={'sex': 'male', 'region': 'china'}
dict1={
'city': 'shanghai', 'sex': 'male'}
student('yh', 18, **dict1)
#name=yh,age=18,others={'city': 'shanghai', 'sex': 'male'}
def student2(name, age, *,city):#多个关键字的传参,但只接受city关键字
10.内置文件读写操作
open()打开或创建一个文件:open(‘文件路径’,‘打开模式’)
close()关闭文件
read()读取文件
redline()读取一行
readlines()降温讲的内容读取到序列中
write()写入文件
writelines()将序列写入文件中
11.通过OS模块进行文件和文件夹的操作
先导入模块import os
getcwd() ——获取当前工作目录
chdir() ——修改当前工作目录
listdir()—— 获取指定文件夹
mkdir() ——创建一个目录、文件夹
rmdir() ——移出目录(必须是空目录)
rename() ——修改文件和文件夹名称
stat() ——获取文件相关信息
exit() ——退出当前执行命令、直接关闭当前操作
os.path 是OS中的一个子模块,有很多应用
abspsth() ——将相对路径转化为绝对路径
basename() ——获取路径中的文件夹或文件名称
dirname() —— 获取路径中的路径部分
join() ——将两个路径合成一个路径
split() ——讲一个路径切割成文件夹和文件名部分
getsize()—— 获取一个文件的大小
isfile() ——检测一个路径是否是一个文件
isdir() ——检测一个路径是否是一个文件夹
exists() ——检测指定路径是否存在