06 2021 档案

摘要:# 函数的递归调用:是函数嵌套调用的一种特殊形式# 具体是指:在调用一个函数的过程中又直接或间接地调用到本身# 直接调用本身:# def f1():# print(" f1")# f1()# f1()# 间接调用本身# def f1():# print(' f1')# f2()### def f2( 阅读全文
posted @ 2021-06-25 14:43 SEPIA 阅读(78) 评论(0) 推荐(0)
摘要:# 列表生成式l1 = ['1s1_ss', '2s2_ss', '3s3_ss', '4s4_ss', '55']new_l = []for name in l1: if name.endswith('ss'): new_l.append(name)print(new_l)new_l = [nam 阅读全文
posted @ 2021-06-25 14:42 SEPIA 阅读(48) 评论(0) 推荐(0)
摘要:# 三元表达式:# 语法格式:条件成立时返回的值 if 条件 else 条件不成立时返回的值x = 1y = 2res = x if x > y else yprint(res) 阅读全文
posted @ 2021-06-25 14:39 SEPIA 阅读(38) 评论(0) 推荐(0)
摘要:# x = yield 返回值# def dog(name):# print('dog %s' % name)# while True:# x = yield # x得到的不是yield的返回值,而是yield接收到的值# print('dog %s eat %s' % (name, x))### 阅读全文
posted @ 2021-06-25 14:38 SEPIA 阅读(40) 评论(0) 推荐(0)
摘要:# 叠加多个装饰器的加载、分析def deco1(func1): def wrapper1(*args, **kwargs): print("print1") res1 = func1(*args, **kwargs) return res1 return wrapper1def deco2(fun 阅读全文
posted @ 2021-06-25 14:37 SEPIA 阅读(65) 评论(0) 推荐(0)
摘要:# 如何得到自定义的迭代器:# 在函数内一旦存在yield关键字,调用函数并不会执行函数体代码# 会返回一个生成器对象,生成器即自定义的迭代器# def func():# print('111')# yield 1# print('222')# yield 2# print('333')# yiel 阅读全文
posted @ 2021-06-25 14:29 SEPIA 阅读(44) 评论(0) 推荐(0)
摘要:"""1.什么是迭代器 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续的,单纯地重复并不是迭代2.为何要有迭代器 为了解决基于索引迭代取值的局限性,Python必须提供一种能够不依赖于索引的取值方式,这就是迭代器3.如何使用迭代器"""# 可迭代对象:内置有__ 阅读全文
posted @ 2021-06-25 14:26 SEPIA 阅读(46) 评论(0) 推荐(0)
摘要:def auth(db_type): def deco(func): def wrapper(*args, **kwargs): name = input("your name: ").strip() pwd = input("your password: ").strip() if db_type 阅读全文
posted @ 2021-06-25 14:25 SEPIA 阅读(42) 评论(0) 推荐(0)
摘要:""" 储备知识点 *args,**kwargs 名称空间与作用域 函数对象 函数的嵌套定义 闭包函数 无参装饰器 有参装饰器"""# 1.*args,**kwargs# def index(x, y):# print(x, y)### def wrapper(*args, **kwargs):# 阅读全文
posted @ 2021-06-25 14:23 SEPIA 阅读(41) 评论(0) 推荐(0)
摘要:# Python learning# coding:utf-8# 闭包函数=名称空间与作用域+函数嵌套+函数对象# 核心点:名字的查找关系是以函数定义阶段为准# 什么是闭包函数# "闭"函数指的是该函数是内嵌函数# "包"函数指的是该函数包含对外层函数作用域的引用(不是对全局作用域)# def f1 阅读全文
posted @ 2021-06-25 14:20 SEPIA 阅读(39) 评论(0) 推荐(0)
摘要:# 函数的嵌套# 1.函数的嵌套调用:在调用一个函数的过程中又调用其他函数def max2(x, y): if x > y: return x else: return ydef max4(a, b, c, d): res1 = max2(a, b) res2 = max2(res1, c) res 阅读全文
posted @ 2021-06-25 14:14 SEPIA 阅读(221) 评论(0) 推荐(0)
摘要:# 精髓:可以把函数当成变量去用# func=内存地址# def func():# print('from func')# 1.可以赋值# f = func# print(f, func)# 2.可以把函数当作参数传给另外一个函数# def foo(x):# print(x)### foo(func 阅读全文
posted @ 2021-06-25 14:01 SEPIA 阅读(70) 评论(0) 推荐(0)
摘要:介绍# 名称空间(namespaces):存放名字的空间# 有了名称空间之后,就可以在栈区中存放相同的名字# 1.1内置名称空间# 存放名字:存放python解释器内置的名字# 存活周期:python解释器启动则产生,python解释器关闭则销毁# 1.2全局名称空间# 存放名字:运行顶级代码所产生 阅读全文
posted @ 2021-06-25 13:56 SEPIA 阅读(50) 评论(0) 推荐(0)
摘要:# 可变长度的参数(*与**的用法)# 可变长度指的是在调用函数时,传入的值(实参)的个数不固定# 实参是用来为形参赋值的,所以针对溢出的实参必须有对应的形参来接受# 1:用来接收溢出的位置实参# *形参名:溢出的位置实参会被*保存成元组的格式然后赋值给紧随其后的变量名# def func(x, y 阅读全文
posted @ 2021-06-25 13:51 SEPIA 阅读(119) 评论(0) 推荐(0)
摘要:定义# 1.形参:在函数定义阶段定义的参数称之为形式参数,简称形参,相当于变量名def func(x, y): # x, y为形参 print(x, y)# 2.实参:在调用函数阶段传入的值称之为实际参数,简称实参,相当于变量值func(1, 2) # 1, 2为实参# 形参与实参的关系:# 在调用 阅读全文
posted @ 2021-06-25 13:49 SEPIA 阅读(314) 评论(0) 推荐(0)
摘要:# Python learning# coding:utf-8# 1.函数的定义""" def 函数名(参数1, 参数2, 参数3,……): 函数体 return 值 函数名() # 调用函数"""# 形式1:无参函数# def func():# print("hahaha")## func()# 阅读全文
posted @ 2021-06-25 13:47 SEPIA 阅读(89) 评论(0) 推荐(0)
摘要:# 方式一:文本编辑器的方式# with open('a.txt', mode='rt', encoding='utf-8') as f1:# res = f1.read()# data = res.replace('a1', 'b1')## with open('a.txt', mode='wt' 阅读全文
posted @ 2021-06-25 13:44 SEPIA 阅读(153) 评论(0) 推荐(0)
摘要:# 指针移动的单位都是以bytes/字节为单位# 只有一种情况特殊:# t模式下的read(n),n代表的是字符个数# with open("a.txt", mode="rt", encoding="utf-8") as f:# res = f.read(4)# print(res)# f.seek 阅读全文
posted @ 2021-06-25 12:38 SEPIA 阅读(125) 评论(0) 推荐(0)
摘要:# Python learning# coding:utf-8# 1.读相关操作# f.readline() 读一行# with open(r"a.txt", mode="rt", encoding="utf-8") as f: # res1 = f.readline() # res2 = f.re 阅读全文
posted @ 2021-06-25 12:37 SEPIA 阅读(50) 评论(0) 推荐(0)
摘要:# Python learning# coding:utf-8"""t: 1.读写都是以字符串(unicode)为单位 2.只能针对文件 3.必须指定字符编码,即必须指定encoding参数b:binary模式 1.读写都是以bytes为单位 2.可以针对所有文件 3.一定不能指定字符编码,即不能指 阅读全文
posted @ 2021-06-25 12:36 SEPIA 阅读(176) 评论(0) 推荐(0)
摘要:# 以t模式为基准操作# 1.r:只读模式:文件不存在时报错,文件存在时指针跳到开始位置# input_username = input("username:")# input_password = input("password:")## with open('a.txt', mode='rt', 阅读全文
posted @ 2021-06-25 12:27 SEPIA 阅读(215) 评论(0) 推荐(0)
摘要:""" 控制文件读写内容的模式 t 文本 1.读写都是以str(unicode)为单位 2.文本文件 3.必须指定encoding='utf-8'"""# 没有指定encoding参数操作系统会使用自己默认的编码# with open('a.txt', mode='rt') as f1: # t模式 阅读全文
posted @ 2021-06-25 12:25 SEPIA 阅读(295) 评论(0) 推荐(0)
摘要:# 文件对象又称文件句柄# with open("a.txt", mode="rt") as f1:# res = f1.read()# print(res)with open("a.txt", mode="rt") as f1, open("b.txt", mode="rt") as f2: re 阅读全文
posted @ 2021-06-25 12:23 SEPIA 阅读(47) 评论(0) 推荐(0)
摘要:# 1.打开文件# windows下的文件open"""1.open(r'D:\PythonProjects\pythonProject\PythonLearning\Day11\a.txt') # 推荐2.open('D:/PythonProjects/pythonProject/PythonLe 阅读全文
posted @ 2021-06-25 12:22 SEPIA 阅读(93) 评论(0) 推荐(0)
摘要:"""1.文什么是文件 文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口 用户/应用程序(open()) 操作系统(文件) 计算机硬件(硬盘)2.为何要用文件 用户/应用程序可以通过文件将数据永久保存在硬盘中 即操作文件就是操作硬盘3.如何用文件:open() 控制文件读写内容的模式 阅读全文
posted @ 2021-06-25 12:17 SEPIA 阅读(181) 评论(0) 推荐(0)
摘要:"""ASCII表: 1.只支持英文字符串 2.采用8位(8bit=1Bytes)二进制数对应一个英文字符GBK表: 1.支持中文,英文字符 2.采用8位二进制数对应一个英文字符 采用16位(16bit=2Bytes)二进制数对应一个中文字符Shift-JIS表: ... ...__________ 阅读全文
posted @ 2021-06-25 12:16 SEPIA 阅读(58) 评论(0) 推荐(0)
摘要:# 定义# 在{}内用逗号分隔开多个元素,多个元素满足一下三个条件# 1.集合内元素必须为不可变类型# 2.集合内元素无序# 3.集合内元素无重复s = {1, 2}# 类型转换res = set("hello") # 取得h,e,l,oprint(res) # {'o', 'h', 'l', 'e 阅读全文
posted @ 2021-06-25 12:14 SEPIA 阅读(52) 评论(0) 推荐(0)
摘要:# 字典dictd = {"k1": 1, "k2": 2, "k3": 3}print(d, type(d))d = dict(x=1, y=2, z=3)print(d, type(d)) # {'x': 1, 'y': 2, 'z': 3} <class 'dict'># 数据类型转换info 阅读全文
posted @ 2021-06-25 12:11 SEPIA 阅读(44) 评论(0) 推荐(0)
摘要:# list型# 作用:按位置存放多个值l1 = [1, 1.2, "aaa", ["bbb", "ccc"], {"k1": "sss", "k2": "ttt"}]print(type(l1))# 类型转换# 能够被for循环遍历的类型都可以当作参数传给list()转换成列表res = list 阅读全文
posted @ 2021-06-25 12:08 SEPIA 阅读(50) 评论(0) 推荐(0)
摘要:# 元组就是一个"不可变的列表"# 作用:按照索引/位置存放多个值,只用于读不用于改# 定义:()用逗号分隔开多个任意类型的元素t = (1, 1.3, "aaa") # t = tuple((1,1.3,"aaa"))print(t, type(t)) # (1, 1.3, 'aaa') <cla 阅读全文
posted @ 2021-06-25 12:04 SEPIA 阅读(39) 评论(0) 推荐(0)
摘要:# str类型a = "SEPIA" # a = str("SEPIA")# 类型转换# str可以把任意其他类型转换成字符串res = str({"a": 1})res1 = {"a": 1}print(res, type(res))print(res1, type(res1))# 使用# (1) 阅读全文
posted @ 2021-06-25 12:03 SEPIA 阅读(66) 评论(0) 推荐(0)
摘要:# 1.int型age = 10 # age = int(10)# # 类型转换a = int("11233") # 纯数字的字符串转成intprint(a, type(a))# 十进制 → 二进制x = bin(99)print(x)# 十进制 → 八进制x = oct(99)print(x)# 阅读全文
posted @ 2021-06-25 11:55 SEPIA 阅读(44) 评论(0) 推荐(0)
摘要:"""for 变量名 in 可迭代对象: # 可迭代对象包括:列表,字典,字符串,元组,集合 代码1 代码2 代码3"""for x in ["aaa", "bbb", "ccc"]: print(x)for i in range(5): print(i)name = "SEPIA"password 阅读全文
posted @ 2021-06-25 11:38 SEPIA 阅读(48) 评论(0) 推荐(0)
摘要:"""while 条件: 代码1 代码2 代码3"""# a = 0# while a < 10:# print(a)# a += 1# 死循环:不会结束# 循环应用name = "SEPIA"password = "123"# 1 # flg = 0# while flg == 0:# inp_n 阅读全文
posted @ 2021-06-25 11:37 SEPIA 阅读(47) 评论(0) 推荐(0)
摘要:# 浅copy# 把源列表第一层的内存地址copy给新列表list1 = [111, 222, ["aaa", "bbb"]]list3 = list1.copy()print(id(list1[0]), id(list1[1]), id(list1[2])) # 2676636210992 267 阅读全文
posted @ 2021-06-25 11:34 SEPIA 阅读(38) 评论(0) 推荐(0)
摘要:"""语法1:if 条件: 代码1 代码2 代码3 语法2:if 条件: 代码1 代码2else: 代码3 代码4 语法3:if 条件1: 代码1 代码2elif 条件2: 代码3 代码4else: 代码5 代码6"""# 语法1a = 1b = 2if a == 1 and b > 1: prin 阅读全文
posted @ 2021-06-25 11:27 SEPIA 阅读(44) 评论(0) 推荐(0)
摘要:# 逻辑运算符# not:把紧随其后的条件结果取反print(16 > 13)print(not 16 > 13)# and:逻辑与# or:逻辑或# 优先级# not > and > or# # 成员运算符# in:判断存在print("SEPIA" in "I'm SEPIA")print(11 阅读全文
posted @ 2021-06-25 11:25 SEPIA 阅读(48) 评论(0) 推荐(0)
摘要:# 可变类型# 值改变,id不变,证明改变的是原值# int,float,str都被设计成了不可分割的整体,不能被改变# 不可变类型# 值改变,id也变,证明原值不可修改# 验证# int是不可变类型x = 10print(id(x))x = 11 # 产生新值print(id(x))# float 阅读全文
posted @ 2021-06-25 11:23 SEPIA 阅读(37) 评论(0) 推荐(0)
摘要:# 1.算数运算符import b as bx = 10y = 3.1z = 3print(x + y)print(x*z)print(x/z) # 结果带小数print(x//z) # 结果只保留整数print(x % z) # 取模,取余数print(x**z) # 取幂# 2.比较运算prin 阅读全文
posted @ 2021-06-25 11:21 SEPIA 阅读(60) 评论(0) 推荐(0)
摘要:# 垃圾回收机制(了解)# 1.引用计数# 引用计数减少为0时,作为垃圾被回收x = 10 # 直接引用print(id(x))lx = ['a', x] # 间接引用x = 1print(id(lx))print(lx[1])print(x)# 2.标记清除# 循环引用会导致内存泄漏# 循环引用: 阅读全文
posted @ 2021-06-25 11:20 SEPIA 阅读(37) 评论(0) 推荐(0)
摘要:# 接受用户的输入# username = input("请输入账号:")# print(username, type(username))## age = input("请输入年龄:") # input输入的内容为字符串类型# print(age, type(age))## x = int(age 阅读全文
posted @ 2021-06-25 11:15 SEPIA 阅读(44) 评论(0) 推荐(0)
摘要:"""变量先定义,后引用在内存中开辟一块空间来存放值变量名的命名规则 纯小写加下划线的方式(推荐) 全部大写字母定义变量时默认其为常量变量值的三个重要特征 #id 反映的是变量值的内存地址,内存地址不同则id不同 print(id(name)) #type 不同类型的值用来表示记录不同的状态 pri 阅读全文
posted @ 2021-06-25 11:11 SEPIA 阅读(45) 评论(0) 推荐(0)