当前位置: 首页 > 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.w-s-a.com/news/987345/

相关文章:

  • 公司网站建设会议纪要昆山高端网站建设机构
  • 做消费网站流程深圳网站设计价格
  • 做电影网站怎么接广告中国最新军事新闻视频
  • 网站推广设计做哪些设置自动删除的wordpress
  • 东莞东坑网站设计专业网站制作设
  • 网站怎么做现场直播视频成都科技网站建设找
  • 个人网页设计步骤网站没有内容 能做优化吗
  • 专业网站建设公司招聘网站排行榜
  • 网站建设规范方法企业解决方案架构
  • ae做网站导航wordpress门户
  • 重庆市网站备案材料云南做网站
  • 网页设计模板网站免费珠海视窗网
  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询
  • 哪个网站注册域名便宜免费流程图制作网站
  • 潍坊做网站南宁网站seo优化公司
  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名