偏移量包头不包尾
偏移量包头不包尾
float(3)=3.0
float("3.14")=3.14
变量必须先被初始化,不然不能运行。eg:ddd 是不能运行会报错的。
F1快捷键,找出python的API
id+type(类型)+value(值)=对象
eg: 3 id:1531372336 type:int value:3
a:1531372336 #把地址赋给a
\ ——用于换行,也叫行连接符。
#读取和写入CSV文件
#引入CSV模块
import csv
#打开文件,注意:如果乱码,请在最后标明encoding的类型
with open("efg.csv","r",encoding='utf-8') as f:
a_csv=csv.reader(f)#读出文件内容
# print(list(a_csv))
for row in a_csv:#用循环读出文件内容
print(row)
#打开一个新的文件
with open("ee.csv","w") as f:
#获得一个写入器
b_csv=csv.writer(f)
#一行一行的写
b_csv.writerow(["ID","姓名","年龄"])
b_csv.writerow(["1001","工藤新一","17"])
c=[["1002","希希","18"],["1003","黑羽快斗","16"]]
b_csv.writerow(c)
['\ufeffID', '姓名', '年龄', '破案量']
['1001', '工藤新一', '17', '1000']
['1002', '服部平次', '18', '200']
['1003', '黑羽快斗', '16', '100']
ID,姓名,年龄
1001,工藤新一,17
"['1002', '希希', '18']","['1003', '黑羽快斗', '16']"
with open("e.txt","r",encoding="utf-8") as f:#打开文件
print("文件名是:{0}".format(f.name))#打印文件名
print(f.tell())#返回文件中指针的当前位置
print("读取内容:{0}".format(str(f.readline())))#读取文件的第一行
print(f.tell())#返回文件中指针的当前位置
print("读取内容:{0}".format(str(f.readline())))#读取文件的第二行
print(f.tell())#返回文件中指针的当前位置
#序列化
import pickle#引入pickle模块
a1="蜡笔小新"
a2=234
a3=[10,20,30,40]
#把上面的内容添加一个二进制文件中
with open("data.dat","wb") as f:
pickle.dump(a1,f)
pickle.dump(a2,f)
pickle.dump(a3,f)
#现在是乱码状态,下面开始转换成可读的内容
with open("data.dat","rb") as f:
b1=pickle.load(f)
b2=pickle.load(f)
b3=pickle.load(f)
#打印出来
print(b1);print(b2);print(b3)
#测试a1是否于b1相等
print(id(a1));print(id(b1))
#不相等
蜡笔小新
234
[10, 20, 30, 40]
1617878845360
1617920883280
递归算法
1.定义递归头
2.递归体
def fact(n):
if n==1:
return n
else:
return n*fact(n-1)
print(fact(5))
import shutil
shutil.make_archive('电影/gg','zip','movie/港台')
import zipfile
z1=zipfile.ZipFile('d:/a.zip','w')
z1.write('1.txt')
z1.write('1_copy.txt')
z.clost()
z2=zipfile.ZipFile('d:/a.zip','r')
z2.extractall('电影')
import shutil
shutil.copyfile('1.txt','1_copy.txt')
shutil.copytree('movie/港台','电影')
import os
path=os.getcwd()
list_files=os.walk(path)
for dirpath,dirnames,filenames in list_files:
for dir in dir names:
print(dir)
import csv
with open('dd.csv','r') as f:
a_csv=csv.reader(f)
print(list(a_csv))
with open('ee.csv','w')as f:
b_csv=csv.writer(f)
b_csv.writerow(['ID','name','age'])
1、保存:ctrl+s 随时保存,养成习惯
2、tab键:默认四个空格
3、注释:# 养成习惯,方便自己,方便他人
4、行连接符(代码太长需要分行时用):\
仅仅是分行用的,代码内容没有断
1、行注释:# 这是一行可以编辑中文的备注
2、断注释:三个英文状态下的引号,两行之间可以编辑中文的备注
"""
。。。
。。。
。。。
。。。
"""
字符串的格式化
format()
填充与对齐
数字格式化
小数f 整数d
常用的查找方法
len
a.startswith('wo')是以wo开头的吗
a.endswith('wo')是以wo结尾的吗
a.find('wo')第一次出现wo的位置
a.rfind('wo')最后一次出现wo的位置
a.count('wo')wo出现了几次
a.isalnum()所有字符全是字母或数字 返回布尔值
去除首尾信息
strip()
大小写转换
a.capitalize()产生新的字符串,首字母大写
a.title()产生新的字符串,每个单词都首字母大写
a.upper()产生新的字符串,所有字符全转成大写
a.lower()产生新的字符串,所有字符全转成小写
a.swapcase()产生新的字符串,所有字母大小写转换
格式排版
center()、ljust()、rjust()
字符串驻留机制
字符串比较
==
!=
is
成员操作符
in
not in
split()分割 join()合并
a.split()把空格作为分隔符
a.split('be')把be最为分隔符
join()
a=['sxt','sxt100','sxt200']列表
'*'.join(a)
'sxt*sxt100*sxt200'
涉及到性能时一般用join(不生成新的对象)
append加元素