当前位置: 首页 > news >正文

网站推广包括箱包东莞网站建设

网站推广包括,箱包东莞网站建设,申报教学成果奖网站建设,做木工的网站目录 1、文件操作 1-1#xff09;打开文件的两种方式#xff1a; 1-2#xff09;文件操作的简单示例#xff1a; write方法: read方法#xff1a; readline方法#xff1a; readlines方法#xff1a; 2、异常处理 2-1#xff09;不会中断程序的异常捕获和处理…目录 1、文件操作 1-1打开文件的两种方式 1-2文件操作的简单示例  write方法: read方法 readline方法 readlines方法 2、异常处理 2-1不会中断程序的异常捕获和处理 2-2中断程序的异常捕获和处理 raise 2-3对操作文件的异常处理 3、面向对象 4、闭包 5、装饰器函数装饰器 6、关于JSON的数据操作 6-1dumps 方法 6-2loads方法 6-3dump方法 6-4load 方法 1、文件操作 打开模式(mode)描述b二进制模式。打开一个文件进行更新(可读可写)。r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。r打开一个文件用于读写。文件指针将会放在文件的开头。rb以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。w打开一个文件只用于写入。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。w打开一个文件用于读写。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。wb以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。一般用于非文本文件如图片等。a打开一个文件用于追加。如果该文件已存在文件指针将会放在文件的结尾。也就是说新的内容将会被写入到已有内容之后。如果该文件不存在创建新文件进行写入。ab以二进制格式打开一个文件用于追加。如果该文件已存在文件指针将会放在文件的结尾。也就是说新的内容将会被写入到已有内容之后。如果该文件不存在创建新文件进行写入。a打开一个文件用于读写。如果该文件已存在文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在创建新文件用于读写。ab以二进制格式打开一个文件用于追加。如果该文件已存在文件指针将会放在文件的结尾。如果该文件不存在创建新文件用于读写。 参考自https://www.runoob.com/python3/python3-file-methods.html  1-1打开文件的两种方式 # 打开指定的文件默认以读的方式打开并指定编码的格式为utf-8 f open(./test.txt,r, encoding utf-8)# 读取所有的内容 content f.read()# 输出内容 print(content)# 使用完时手动关闭文件 f.close() # 使用 with 自动处理资源关闭 with open(test.txt, r, encodingutf-8) as f:content f.read()# 到 with 缩进内容的最后文件会被关闭 print(content) # 执行这句前文件已被关闭 1-2文件操作的简单示例  test.txt 昨天是星期一天气晴朗我很开心 今天是星期二下了大雨我很难过 明天是星期三听说还是要下大雨我觉得我不会开心 后天是星期四不知道会怎么样呢 永远相信美好的事情即将发生 write方法: # a 用于追加文件指针放到文件内容的结尾 f open(test.txt, a, encoding utf-8)# 换行追加指定的内容 f.write(\n Hello. goodbye!)f.close() 昨天是星期一天气晴朗我很开心 今天是星期二下了大雨我很难过 明天是星期三听说还是要下大雨我觉得我不会开心 后天是星期四不知道会怎么样呢 永远相信美好的事情即将发生Hello. goodbye! read方法 # 读取 指定读取的长度 f open(test.txt, r, encodingutf-8) content f.read(10) # 读取前10个字符如果没有指定则是读入全部内容 print(list) f.close() with open(test.txt, r, encodingutf8) as f:res f.read(3) # 默认读取第一行的内容读取前3个字符print(res)res f.read(3) # 接着读入后面3个字符print(res) readline方法 with open(test.txt, r, encodingutf8) as f:res f.readline() # 默认读取第一行的内容包括最后的换行符print(res)res f.readline() # 读取第二行的内容包括最后的换行符print(res)readlines方法 with open(test.txt, r, encodingutf-8) as f:line f.readlines() # 返回一个列表其中的每一个元素是每一行的内容包括最后的换行符print(line) 2、异常处理 2-1不会中断程序的异常捕获和处理 num_1 10 num_2 0try:res num_1 / num_2print(res) # 不会执行 except:print(除数不能为0) # 执行 finally:print(finally) # 放到 finally中的内容最后无论如何都会执行print(1 3) # 会继续往下执行程序不会中断 try:res num_1 / num_2print(res) # 不会执行 except Exception as e: # 捕获所有 Exception 类中已定义的错误print(e) # division by zero finally:print(finally) # 执行print(1 2) # 会继续执行 2-2中断程序的异常捕获和处理 raise try:res num_1 / num_2print(res) # 不会执行 except Exception as e:print(e) # division by zeroraise Exception(除数不能为0) # 抛出异常并提示 除数不能为0 finally:print(finally)print(1 2) # 不会执行程序会中断 try:res num_1 / num_2print(res) # 不会执行 except ZeroDivisionError as e1: # 逐层捕获错误print(e1) # division by zeroraise ZeroDivisionError(除数不能为0) # 抛出错误并自定义提示内容 except Exception as e2: # Exception 是所有异常类的父类应该放在最后print(e2)raise # 抛出错误并给出对应的默认提示 finally:print(finally)print(1 2) # 不会执行 2-3对操作文件的异常处理 try:with open(../Normal/test.txt, r, encodingutf-8) as f:res f.read() except FileNotFoundError as e: # 文件不存在时的错误raise FileNotFoundError(文件不存在) except Exception as e: # 其他错误raise Exception(发生错误) else: # 没有异常时执行print(res) 3、面向对象 class People:# 定义类属性type 哺乳动物# 定义私有属性 双下划线开头__private # 定义构造方法 实例化时会自动调用并且可以将实例变量或实例属性在此定义# self 形参属于类实例的引用与其他语言中的 this 中的关键字类似# 类方法的第一个形参一定是 self 可以用其他的名称代表实例本身def __init__(self, name , age , gender ):# 定义实例属性self.name nameself.age ageself.gender gender# 用于释放实例空间释放内存空间 程序结束后会自动调用可以处理收尾工作def __del__(self):print(正在释放实例空间)# 打印类的实例使会触发的方法 相当于 java 中的 toString下面的操作是重写def __str__(self):return f当前类的实例正在被打印# 受保护的方法 子类可以继承def _protectFunc(self):print(这是一个受保护的方法)# 私有的方法 子类不能继承def __privateFunc(self):print(这是一个私有的方法)# 定义三个方法def talk(self, str):print(f{self.name}: {str}.)def doing(self, str):print(f{self.name}正在{str}.)def info(self):print(fname: {self.name},age: {self.age}, gender: {self.gender})# 定义类的静态方法直接使用类名调用classmethoddef people_type(cls): # cls 代表类本身print(cls.type)# 新建一个Man类继承于 People 类 class Man(People):# 重写父类的方法def talk(self, str):print(子类重写了父类的talk方法)# 拓展自己的新方法def eat(self):print(子类自己的方法 eat) # 如果执行者是当前文件自身则会执行以下的内容被其他的模块导入时不会执行下面的内容 if __name__ __main__:# p1 People() # 类的实例化会自动调用构造方法# p1.name 张三 # 先找实例变量在找类变量# p1.age 14## p2 People()## print(id(p1), id(p2)) # 两个不同的虚拟地址# p3 People(张三, 23, 男)# # print(p3)# print(p3.name)## People.people_type() # 使用 类名.静态方法 调用类的静态方法推荐man Man()man._protectFunc() # 子类可以调用父类受保护的方法不能调用父类私有的方法 4、闭包 在一个函数中定义了一个内部函数并且该内部函数使用了外部函数的参数或变量则称为闭包。 def outer(x, y):z x * yy 20def inner(a 0):return a x y zreturn inner# 由外部函数到内部函数依次传参 res outer(2, 3)(4) # 4 2 20 6 print(res)res outer(2, 3)() # 0 2 20 6 print(res) 5、装饰器函数装饰器 上面面向对象中People类定义静态方法 people_type 的上一行classmethod 就是一个装饰器。 装饰器本身也是一个函数装饰器给其他的函数使用可以改变程序执行的顺序。 定义装饰器用于统计函数的运行时间 函数里面定义了一个函数称之为内部函数闭包 装饰器自带一个参数 —— func用于获取被装饰函数的地址 内部函数运行结束后必须要返回其函数名地址def stat(func): # 装饰器接收到的第一个参数是要使用该装饰器的函数的地址(函数名)def inner():start time.time()print(当前时间为, start)func() # 执行该函数end time.time()print(结束时间为, end)print(总用时, end - start)return innerstat # 表示 test2 函数使用 stat 装饰器 def test2():result 99999for i in range(100000):result result - i ** 2print(result ,result)test2() # 如果该函数有装饰器则会直接去执行装饰器 def decorate(func):def inner(*args, **kwargs):print(###,args, kwargs)func(*args, **kwargs)print(finally)return innerdecorate def test(name, age):print(fHello,{name}.your age is {age}.)test(张三, age18) 在这里 test(张三,age18) 相当于调用了 装饰器里的 inner(张三,age18) 装饰器的内部函数接收到的参数就是传递给test的参数第四行时执行了 test 函数。 6、关于JSON的数据操作 sourceObj [{name: Tom, age: 15, gender: man, num: 1001},{name: ben, age: 14, gender: woman, num: 1002},{name: jam, age: 15, gender: woman, num: 1003},{name: jack, age: 16, gender: man, num: 1004}, ] sourceStr ([{name: Tom, age: 15, gender: man, num: 1001}, {name: ben, age: 14, gender: woman, num: 1002}, {name: jam, age: 15, gender: woman, num: 1003}, {name: jack, age: 16, gender: man, num: 1004}]) import json 6-1dumps 方法 将 json 对象python字典转换成 json 字符串。单引号会转换成双引号。 import json jsonstr json.dumps(sourceObj) # 使用 dumps 方法将其转换成 json 字符串 print(type(jsonstr)) print(jsonstr) # 单引号会变成双引号 6-2loads方法 将 json 字符串转成 json 对象Python字典 jsonObj json.loads(sourceStr) # 将 json 格式的字符串转成对象列表的形式 print(jsonObj[0][name]) # Tom 6-3dump方法 将 json 对象格式的内容以 json 对象写出到指定文件 with open(./jsonString.json,w, encodingutf-8) as f:json.dump(json.loads(sourceStr), f) # 将json对象格式的内容写出 6-4load 方法 将json对象文件中的内容以字典列表的形式读入 with open(./jsonString.json, r) as f:res json.load(f)print(res[0][name]) # Tomprint(type(res)) # class list
http://wiki.neutronadmin.com/news/211058/

相关文章:

  • 免费推广网站下载伊利集团的网站建设水平评价
  • 江苏省建设局网站首页调用百度地图做全景的网站
  • 怎样自己做代刷网站微信小程序介绍
  • pw域名网站温州品牌网站建设
  • 网站推广关键词排名怎么免费做个人网站
  • 深圳网站设计公司设计wordpress登录无效用户名
  • 个人怎样免费建网站幻影图片一键制作网站
  • 做标志的网站考幼师证去哪个网站做试题
  • win7 iis添加网站济南做网站最好的公司
  • 昌平网站建设推广优化seowordpress主题 单页
  • 外贸网站制作要求揭阳网站免费建站
  • 本地linux做网站六安网站制作多少钱
  • 网站做seo多少钱微信小程序跳转到网站
  • logo网站设计素材微妙音门户网站建设
  • 深圳网站 建设信科网络大学生网页设计期末作品代码
  • 卡片式设计的网站网站后台上传图片无法显示
  • 站长工具seo综合查询 分析现在阳性最新情况
  • wordpress 小程序主题seo 怎么做到百度首页
  • 上海网站群建设丽水集团网站建设
  • 网站建设与维护经营范围优设
  • php网站二次开发用什么软件手机网站图片自适应代码
  • 亚马逊欧洲站入口网址页面设计素材网站
  • 沧州北京网站建设阿里巴巴企业网站注册
  • 南京企业网站设计公司500元济源网站开发
  • 百度做网站好吗光谷网站建设哪家好
  • 宁夏住房和城乡建设官方网站百川网站维护
  • 内网网站建设的步骤过程做淘宝客网站好搭建吗?
  • 毕设代做网站招聘深圳东维亚建设公司
  • 未备案网站加速如何降低网站相似度
  • 西城专业网站建设公司哪家好做暖漫画网站