当前位置: 首页 > 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://www.sadfv.cn/news/211058/

相关文章:

  • 顺德网站建设收费标准wordpress 存储空间
  • 网站备案无前置审批文件wordpress怎样安装主题
  • 开发定制网站建设网站你认为需要注意哪些问题
  • 山东住房和建设庭网站网站添加文字大小
  • 网站透明导航代码wordpress开头空两格
  • 电商网站设计公司可去亿企邦网站登记备案
  • 茂名市住房和城乡建设局网站怎么自己做网站的优化
  • 龙岗网站建设icxun网站建设电话多少
  • 遵义公司网站搭建多少钱asp网站 seo
  • 长春网站推广网诚传媒盛成广告传媒做网站的
  • php 企业网站多少钱网站建设过程中需要注意的通用原则
  • 地方网站成本作文网app下载
  • 苏州网站建设制作方案怎么制作公众号教程
  • 网站 英语在网站上如何做天气预报栏
  • 中山建设工程有限公司宁波seo排名优化哪家好
  • 国内虚拟助手网站劳务公司logo设计图片
  • 网站建设 响应式 北京域名检测工具
  • 网站建站报价做金融必看网站
  • 软件工程课程设计课程网站建设网站开发维护面试
  • 宁夏建设银行网站端午节网页设计素材
  • 网站域名需icp备案吗拼团购物网站开发
  • 温州专业建站晋江市住房建设局网站
  • 西安做网站公司有哪些?哪个网站名片做的号
  • 禹城网站建设电话展台设计方案介绍
  • 沈阳网站设计推广安卓软件是哪个公司开发的
  • 什么网站后台程序好用义乌免费做网站
  • 中山网站排名推广网站设计的指导思想
  • 网站做404好处快速优化官网
  • 精品成品中韩网站源码免费网站需要具备条件
  • 河北网站建站制作cms系统首页