摘要:# 问题:什么时候用类方法 # 反射,提供更加灵活的方式去实现去对象中操作成员 # getattr\setattr\hasattr\delattr class Person(object): def __init__(self, name, age): self.name = name self.a
阅读全文
摘要:# 异常处理 # 方式一 try: pass except Exception as f: pass # 方式二 try: pass except Exception as e: pass # try中代码异常,则此代码执行 finally: pass # 无论是否出现异常,此代码都会执行,一般用于
阅读全文
摘要:# super:根据继承关系,向上找成员,直到找到就停止 # 应用场景:假设有一个类,已经实现了一些功能,想在这基础上扩展功能,就不用重写 class Grandpa(object): def message(self, num): print(num + 500) class Father(Gra
阅读全文
摘要:class Faa(object): def f1(self): pass def f2(self): pass class Gaa(Faa): def f1(self): pass def f3(self): pass class Haa(Gaa): def f4(self): pass def
阅读全文
摘要:# 迭代器 # 创捷迭代器类型 # 1、当类中定义__iter__和__next__两个方法; # 2、__iter__方法需要返回对象本身,即self; # 3、__next__返回下一个数值,如果没有需要抛出一个StopIteration的异常 # 如果一个类中有一个__iter__方法并返回一
阅读全文
摘要:class JackPerson: # 首字母大写,命名驼峰原则 # 实例变量 def __init__(self, k): # 初始化方法,自动执行方法 self.data = k # 绑定方法 def xxx(self, x, y): # 定义一个方法 data = x + y print(da
阅读全文
摘要:# nolocal 和 global的不同,nolocal改变的是上级作用域里的变量,global改变的是全局作用域里的变量 # global name = 'xueyou' def outer(): name = 'dehua' def inner(): global name # 将全局作用域里
阅读全文
摘要:# yield from def foo(): yield 2 yield 2 yield 3 def func(): yield 1 yield 1 yield from foo() yield 4 yield 5 for item in func(): print(item) # 1 1 2 2
阅读全文
摘要:# 深拷贝deepcopy、浅拷贝copy,深浅拷贝一般指可变类型,如set、list、dict,不可变类型不会被拷贝 import copy v1 = 'JIM' print(id(v1)) # 2522430013616 v2 = copy.copy(v1) print(id(v2)) # 25
阅读全文
摘要:import random import string print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数 print( random.random() ) # 产生 0 到 1 之间的随机浮点数 print( random.uniform(1.1
阅读全文
摘要:import os import sys # os.path.abspath(__file__):当前执行文件的路径,如 D:\aaa\bbb\ccc.py # os.path.dirname(os.path.abspath(__file__)):当前执行文件的上级路径,如 D:\aaa\bbb #
阅读全文
摘要:# 正则表达式 import re # 指定内容匹配 text = '我来自遥远的艾泽拉斯,我是矮人一族,是一个射手,it is my honour,i am proud of it!,height115s,weight130s!' v1 = re.findall('我',text) print(v
阅读全文
摘要:# time import time v1 = time.time() print(v1) # 1635057205.2733288,1970年起到现在过了多少秒 v2 = time.timezone print(v2) # 东八区秒数,28800/3600 = 8 print('开始') v3 =
阅读全文
摘要:# json模块,讲python数据转换成json数据,或者将json数据转换成python数据 # json格式,本质上是字符串 # 作用:方便各种编程语言之间的数据交互 import json data = [{'name': '张学友', 'age': '18'}, {'name': '刘德华
阅读全文
摘要:from sanmple import first # 导入包里的文件 first.fuc01() first.fuc02() from sanmple.second import func03 # 导入包里的文件的指定函数 import sanmple v1 = sanmple.second.fu
阅读全文
摘要:# 1、匿名函数:基于lambda表达式实现定义没有名字的函数,冒号后面为返回值 data_list = [lambda x: x + 100, lambda x: x + 110, lambda x: x + 120] print(data_list[0]) print(data_list[0](
阅读全文
摘要:from flask import Flask import functools app = Flask(__name__) def auth(func): # @functools.wraps(func):如在此加上这个,则info.__name__、info.__doc__输出的是func原来函
阅读全文
摘要:def outer(origin): def inner(*args,**kwargs): res = origin(*args,**kwargs) return res return inner @outer def fuc(): pass fuc() 两个装饰的时候,先装饰最近的 def dec
阅读全文
摘要:# 1、函数作用域 NAME = '张学友' print(NAME) def func(): print(NAME) # 函数会优先在自身内部作用域里找变量值,如找不到,则前往上一级找 func() # 2、函数如果后面改动,则改动前按照原函数,改动后的按照改动后的函数 def func(): pr
阅读全文
摘要:# 参数传递的是内存地址 def fuc_01(i): print(i,id(i)) j = '关羽' print(id(j)) # 1985442652400 fuc_01(j) # 关羽 1985442652400 def fuc_02(i): i.append(2) j1 = [1,2,3]
阅读全文