- 博客(53)
- 收藏
- 关注
原创 2021-03-11 函数生成器
3、生成器由函数+yield关键字创建出来的写法,可以节省内存函数中存在yield,这个函数就是生成器函数。def func(): print(1111) yield 1 生成器对象,执行生成器函数时,会返回一个生成器对象def func(): print(1111) yield 1 print(2222) yield 2 print(3333) yield 3 data = func() # data
2021-03-11 14:58:28
2592
原创 2021-03-11 内置函数 和 推导式
内置函数 和 推导式1、匿名函数lambda 表达式实现一个可以没有名字的函数,比如:data_list = [lambda x:x+100,lambda x:x+110,lambda x:x+120,]print(data_list[0](50))f = lambda x:x+10res = f(100)print(res)基于lambda定义的函数格式: lambda 参数:函数体lambda X:函数体lambda x1,x2:函数体lambda *args,**k
2021-03-11 14:10:40
87
原创 2021-03-09 高级函数作业题
装饰器python 中支持特殊语法,在某个函数上方使用 ----> @@ 函数名def xxx(): paaspython 内部会自动执行 函数名(xxx),执行之后,再把结果赋值给XXX相当于这样的执行 xxx = 函数名(xxx)第一思路def outer(origin): def inner(): print('before') res = origin() print('after')
2021-03-09 14:49:14
147
原创 2021-03-09 装饰器小扩展---网站应用
装饰器扩展from flask import Flaskapp = Flask(__name__)def index(): return '第一个页面'app.add_url_rule('/index',view_func=index)好像运行有问题,做个记录
2021-03-09 10:43:45
62
原创 2021-03-09 装饰器支持传入自定义的参数
第三思路,需求: 三个函数,三个函数执行前后执行输出“打印之前和之后”,或者10000个类似代码要批量输出某个功能。'''需求: 在函数执行前,输出before,执行后输出after'''def outer(origin): def inner(*args,**kwargs): print('before') res = origin(*args,**kwargs) print('after\n') return res..
2021-03-09 10:15:43
70
原创 2021-03-09 装饰器1~3
装饰器python 中支持特殊语法,在某个函数上方使用 ----> @@ 函数名def xxx(): paaspython 内部会自动执行 函数名(xxx),执行之后,再把结果赋值给XXX相当于这样的执行 xxx = 函数名(xxx)第一思路def outer(origin): def inner(): print('before') res = origin() print('after')
2021-03-09 10:02:33
71
原创 2021-03-08 函数闭包
2,闭包闭包,就是将数据封装再一个包(区域)中。使用的时候去里面取,本质上闭包是基于函数嵌套搞出来的一个特殊嵌套闭包特殊应用场景1:封装数据防止污染全局def func(age): name = 'feifei' def f1(): print(name,age) def f2(): print(name,age) def f3(): print(name,age)
2021-03-08 17:11:33
68
原创 2021-03-04 函数练习题
1、查看值的内存地址a = id('wa')print(a)2、函数的参数传递的是引用(内存地址)还是值(拷贝一份)## 是传递的内存地址3、看代码写结果v1 = {}v2 = v1v1['k1'] = 123print(v1,v2) # {'k1':123} {'k1':123}4、看代码写结果def func(k,v,info={}): 5,6,{1,2} info[k] = v return infov1 = func(1,2)print
2021-03-04 14:32:18
87
1
原创 2021-03-04 函数进阶--总结
总结1、函数参数传递的是内存地址重新创建一份数据再传递给参数,可以手动拷贝一份特殊情况: 参数是动态参数时,通过* 或者** 传参时,会将数据循环添加到参数中(类似拷贝一份)def func(*args,**kwargs): print(args,kwargs) func(*[11,22,33],**{'k1':2,'k2':4})2、函数的返回值也是内存函数执行完毕之后,内部所有变量就销毁了,引用计数器为0的时候,数据也会被销毁def func():
2021-03-04 09:11:19
75
1
原创 2021-03-04 函数进阶-函数名/作用域/global关键字
2、函数和函数名函数名就是一个变量,这个变量只不过代指的函数而已name = 'feige'def add(n1,n2): return n1+n2*** 函数必须先定义,才能被调用执行# 正确的方式def add(n1,n2): return n1+n2ret = add(1,2)print(ret)# 错误的方式ret = add(1,2)print(ret)def add(n1,n2): return n1+n22.1 函数做元素既然函
2021-03-04 08:54:37
112
1
原创 2021-02-26 函数进阶--2
1 参数的补充1.3 参数的默认值def func(a1,a2=18): print(a1,a2)python在创建函数的时候,如果发现函数的参数中有默认值,则在函数内部会创建一块区域并维护这个默认值执行函数没有传值的时候,则让a2指向维护的那个值的地址执行函数传值的时候,则让a2指向新传入的值的地址** 特定情况下,【默认参数的值是可变类型】 && 【函数内部会修改这个值】下,参数的默认值有个坑,请注意只是一个坑def func(a1,a2=[1
2021-02-26 15:02:07
59
原创 2021-02-05 函数的进阶---函数的返回值
1 参数的补充1.1 参数内存地址相关如果想要知道某个值在内存中的地址v1 = 'data'addr = id(v1)print(addr)***** 函数执行传参的时候,传递的是内存地址def func(data): print(data,id(data))v1 = 'wahaha'func(v1) ### 传输的v1和def中的data是传递的相同的内存地址print(id(v1))func(v1)python的参数默认传递的是什么 ------ 传递的是内存地
2021-02-25 15:39:57
88
原创 2021-02-25 函数基础的作业题
练习题一、 计算字符串中字符a的次数,并通过retrun返回def is_str_a(number): """计算字符串中字符a的次数,并通过retrun返回""" count = 0 for char in number: if char == 'a': count += 1 return countresult = is_str_a('sdfgssaafhsdjfasghsjdfha')print('字符串内出现a的次数有{
2021-02-25 14:46:25
90
原创 2021-02-23 DAY11-函数基础
1、初识函数函数,可以当作是一大堆功能代码的集合def 函数名(): 函数内编写的代码 ... ... 函数名()举个例子# 定义名称为info的函数 def info(): print('第一个') print('第二个') print('第三个') info() ## 执行函数内的代码import smtplibfrom email.mime.text import MIMETextfrom email.utils import
2021-02-23 15:04:04
109
原创 2021-02-23 函数初识
1、初识函数函数,可以当作是一大堆功能代码的集合def 函数名(): 函数内编写的代码 ... ... 函数名()举个例子# 定义名称为info的函数 def info(): print('第一个') print('第二个') print('第三个') info() ## 执行函数内的代码import smtplibfrom email.mime.text import MIMETextfrom email.utils import
2021-02-23 09:55:33
146
1
原创 2021-02-23 文件操作作业一网上下载文件,并保存在指定路径中
文件操作作业一网上下载文件,并保存在指定路径中## 作业'''4、网上下载文件,并保存在指定路径中'''import osimport shutilimport requests# 文件路径处理base_dir = os.path.dirname(os.path.abspath(__file__))download_folder = os.path.join(base_dir,'files','package')if not os.path.exists(download_
2021-02-23 08:58:11
156
1
原创 2021-02-23 文件操作作业一读取ini文件
文件操作作业一读取ini文件,写入到excel中## 作业'''3、读取ini文件,写入到excel中'''import osimport configparserfrom openpyxl import workbookfrom openpyxl.styles import Alignment,Border,Side,Font,PatternFill# 文件路径处理base_dir = os.path.dirname(os.path.abspath(__file__))f
2021-02-23 08:50:40
118
原创 2021-02-22 文件操作作业二,用户输入城市,获取这个城市的天气
文件操作作业二,用户输入城市,获取这个城市的天气## 作业'''2、用户输入城市,获取这个城市的天气'''import osimport requestsfrom xml.etree import ElementTree as ETfrom openpyxl import workbook# 文件路径处理base_dir = os.path.dirname(os.path.abspath(__file__))db_file_path = os.path.join(base_d
2021-02-22 14:41:04
239
原创 2021-02-22 文件操作作业一
文件操作作业一## 作业'''1、基于CSV的用户注册和认证'''import os# 文件路径处理base_dir = os.path.dirname(os.path.abspath(__file__))db_file_path = os.path.join(base_dir,'db.csv')# 用户注册while True: choice = input('注册吗?') choice = choice.upper() if choice.upper
2021-02-22 11:34:23
48
原创 2021-02-22 文件操作总结
总结1、文件相对路径,在使用相对路径时由于目录不同,导致路径出问题,所以,如果要在相对路径中运行程序务必清楚程序是否在当前目录2、文件绝对路径(推荐)。不要将文件路径写死,而是基于OS模块中的相关功能自动化获取绝对路径,方便项目移动到别的电脑上运行而不会出错import osbase_dir = os.path.dirname(os.path.abspath(__file__)) ### 当前文件的绝对路径file_path = os.path.join(base_dir,'file','inf
2021-02-22 10:26:51
41
原创 2021-02-22 excel 读取操作之一EXCEL格式文件
EXCEL格式文件Python内部未提供处理excel文件的功能,想要操作,需要安装第三方模块pip install openpyxlfrom openpyxl import load_workbook'''读取excel文件内容'''wb = load_workbook('C:\\Users\y00261904\Desktop\\2021年春节值班安排表-国内研究所-上海VPN小网团队.xlsx')## sheet 相关操作# 1 获取excel 文件中所有sheet的名称
2021-02-22 10:11:21
188
原创 2021-02-20 excel 读取操作之一读取单元格
excel 读取操作之一读取单元格'''读取单元格'''from openpyxl import load_workbookwb = load_workbook('C:\\Users\y00261904\Desktop\\2021年春节值班安排表-国内研究所-上海VPN小网团队.xlsx')sheet = wb.worksheets[0] # 找到第一个sheetprint(sheet)# 1 获取某行某列的单元格的详细内容cell = sheet.cell(2,1)print
2021-02-20 10:32:37
518
原创 2021-02-20 excel 读取操作之一读取sheet
EXCEL格式文件Python内部未提供处理excel文件的功能,想要操作,需要安装第三方模块pip install openpyxlfrom openpyxl import load_workbook'''读取excel文件内容'''wb = load_workbook('C:\\Users\y00261904\Desktop\\2021年春节值班安排表-国内研究所-上海VPN小网团队.xlsx')## sheet 相关操作# 1 获取excel 文件中所有sheet的名称
2021-02-20 09:49:42
805
1
原创 2021-02-19 读文件下载文件中指定的内容
°读文件下载文件中指定的内容import shutilimport requestsimport oswith open('abc.txt',mode= 'r',encoding='utf-8') as file_new: file_new.readline() for line in file_new: user_id,user_name,user_url = line.strip('\n').split(',') print(user_id,u
2021-02-19 10:43:54
56
原创 2021-02-10 文件的其他操作with及上下文
1、文件操作字符串类型,在程序中用于表示文字信息,本质是unicode编码中的二进制字节类型可表示文字信息,本质是utf-8/GBK等编码的二进制可表示原始二进制(图片、文件等信息)1.1 读文件读文本文件##打开文件 - 路径: 相对路径:‘info.txt’ 绝对路径: ‘/Users/pengfei/day09/info.txt’# 打开文件file_object = open('info.txt',mode = '
2021-02-10 15:24:45
48
原创 2021-02-09 文件的读写操作
1、文件操作字符串类型,在程序中用于表示文字信息,本质是unicode编码中的二进制字节类型可表示文字信息,本质是utf-8/GBK等编码的二进制可表示原始二进制(图片、文件等信息)1.1 读文件读文本文件##打开文件 - 路径: 相对路径:‘info.txt’ 绝对路径: ‘/Users/pengfei/day09/info.txt’# 打开文件file_object = open('info.txt',mode = '
2021-02-09 17:18:59
771
原创 2021-02-09 day09-文件的操作
1、文件操作1.1 读文件读文本文件##打开文件 - 路径: 相对路径:‘info.txt’ 绝对路径: ‘/Users/pengfei/day09/info.txt’# 打开文件file_object = open('info.txt',mode = 'rb')# 读取文件data = file_object.read()# 关闭文件file_object.close()text = data.decode('utf-8')print(te
2021-02-09 00:08:14
50
原创 2021-02-08 数据类型---作业题
作业题1import randomresult = {}user_list = ['姗姗','圆圆','飞飞']# 1、生成一副扑克牌total_poke_list = [('小王',14),('大王',15)]color_list = ['♥️','♣️','♦️','♠️']num_list = []for num in range(1,14): num_list.append(num)for coler in color_list: for num in num_
2021-02-08 22:39:24
119
原创 2021-02-08 DAY09-补充知识
2 知识补充2.1 paas一般python的代码块是基于: 和缩进来实现的,python中规定代码块中必须要有代码才算完整,在没有代码的情况下为了保障语法的完整性可以用paas代替,比如if Flase: ...else: paas2.2 is比较is 和 == de 区别是什么==,用于比较两个值是否相等is,用于表示内存地址是否一致V1 = []V2 = []print(v1 == v2) True,值相等print(v1 is v2) False,不属于同一个
2021-02-08 16:48:23
102
原创 2021-02-07 数据类型---浮点数
3、浮点数浮点型,一般在开发中用于表示小数v1 = 3.14v2 = 9.89## 在类型转换时,默认转换为整型时,小数部分会去掉v1 = 3.1415data = int(v1)print(data) ## data 的值就是3如果想要保留小数点result = round(v1,3) ## 这样就会保留小数点后面3位3.142如果精确计算小数怎么操作import deciamlv1 = decimal.Decimal('0.1')v2 = decimal.Decim
2021-02-07 15:39:08
59
原创 2021-02-07-- 字典dict
python字典 (dict)字典也是无序,键不重复,且元素只能是键值对的可变的容器data = { 'k1':1 ,'k2':2 }如果键重复,后面的值会覆盖前面的值Python3.6 + 版本之后的版本字典是有序的,之前版本为无序的data = { 'k1':1 , 'k1':2 }print(data) ## 显示内容为 { 'k1':2 }字典的键值的要求:键: 必须可哈希,目前为止可以哈希的类型: int/bool/str/tuple 不可哈希
2021-02-07 14:55:04
237
原创 2021-02-05 数据类型----字典
2 字典 (dict)字典也是无序,键不重复,且元素只能是键值对的可变的容器data = { 'k1':1 ,'k2':2 }如果键重复,后面的值会覆盖前面的值Python3.6 + 版本之后的版本字典是有序的,之前版本为无序的data = { 'k1':1 , 'k1':2 }print(data) ## 显示内容为 { 'k1':2 }字典的键值的要求:键: 必须可哈希,目前为止可以哈希的类型: int/bool/str/tuple 不可哈希的: lis
2021-02-05 17:22:20
48
原创 2021-02-05 补充None类型
None 类型Python 中有一个特殊的值,是None,表示这个值为空,相当于其他语言中的null 的作用在不考虑内部缓存和驻留机制的情况下,以下的两种方式,第一种可以节省内存,V1 = NoneV2 = NoneV3 = []V4 = []...V3 = [11,2,3]目前所有转换为布尔值为False的值有:0''[] or list()() or tuple()set()None...
2021-02-05 14:52:01
58
原创 2021-02-05 DAY07集合的练习题
集合练习题1、##循环提示用户输入,如果输入的值在V1中存在,就追加到v2中,如果v1中不存在,就添加到v1中v1 = {'pengfei','Python','huawei'}v2 = []while True: name = input('请输入内容:') if name in v1: v2.append(name) elif name.upper() == 'N': break else: v1.add(name
2021-02-05 14:26:08
65
原创 2021-02-05 DAY07--数据类型__集合
day07 数据类型(下)set 集合,一个不允许重复的 && 可变的类型dict 字典,一个容器切元素必须的键值对float ,生错中常见的小数1、集合 (set)集合是一个无序、可变、不允许数据重复的容器1.1 定义1.1.1 无序v1 = {11,22,33,'alex'} ## 无序,就是无法通过索引取值1.1.2 可变可以添加和删除元素v1 = {11,22,33,'alex'}v1.add(55)print(v1) ## {11
2021-02-05 12:47:43
92
原创 2021-02-04 day06--数据类型--元组
day06 数据类型(中)—元组2、元组元组是一个有序且不可变的容器,在里面可以存放多个不同类型的元素2.1 定义建议元组最后的元素后多加一个逗号,用于标识他是一个元组V1 = ('Alex','wangdan','李姐',)# 说明区别1、比较 v1 =(1) 和 v2 = 1 和 v3 =(1,)有什么区别2、比较 v1 = ((1),(2),(3)) 和 v2 = ((1,),(2,),(3,),)2.2 独有功能无2.3 公共功能2.3.1、相加data1 = [
2021-02-04 16:13:13
108
原创 2021-02-04 列表阶段作业一
列表阶段作业一## li = ["slrc","eiro","kumi","bury","飞哥"]1、计算列表的长度并输出print(len(li))2、追加元素seven,并输出添加后的列表li.append('seven')print(li)3、指定索引位加入元素,并输出li.insert(1,'Tony')li.insert(2,'kelly')4、指定索引位置修改元素,并输出li[3] = 'new_kumi'print(li)5、将一个元素中的值追加到li中,并
2021-02-04 09:01:01
96
1
原创 2021-02-03 day06 数据类型(中)---list 列表的公共功能
1.3 公共功能1 ,相加两个列表相加,会生成一个新列表,原列表不变data1 = ['王五','刘天']data2 = ['田四','曾七']result = data1 + data2## 得到的新列表的值 ['王五','刘天','田四','曾七']2,相乘列表*整型,是将列表中的元素创建相同的N份,并生成一个新的列表data1 = ['王五','刘天'] * 2data1 = ['王五','刘天','王五','刘天']3、运算符in包含由于列表内部是由多个元素组成,可
2021-02-03 15:47:34
69
原创 2021-02-03 day06 数据类型(中)---list 列表
day06 数据类型(中)–list 列表1、列表列表(list),是一个有序切可变的容器,在里面可以存放多个元素1.1 定义user_list = ['今天','tomorrow','yestay']number_list = ['123','44','55']data_list = ['text','123','今天']### 列表是有序的,可变的user_list = []user_list.append('今天')user_list.append('明天')print(use
2021-02-03 11:53:18
120
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人