def

Python 函数和装饰器

帅比萌擦擦* 提交于 2020-10-02 23:49:21
函数的定义和调用 定义: def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个英文冒号":"。 函数名:在Python中函数即变量,所以函数名也同样遵循变量的命名约束。数字字母下划线组成,不能以数字开头且应具有描述函数功能的作用。 括号:是必须加的,先别问为啥要有括号,总之加上括号就对了! 注释 :每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。 调用 :就是函数名() 函数名加括号 !不加不执行 来个函数 >>> def bar(): ... print("hello function!\n") ... >>> bar # 不加括号给的是这个函数的地址, <function bar at 0x10da670d0> >>> bar() # 加了括号才会被执行 hello function! 我们现在想让一个函数完成两个数的加和操作,即我们自己来实现sum()这个内建函数的功能。 def mysum(a,b): sum = a+b result = mysum(1,2) print(result) 结果为:None 怎么样才能让他能像sum()一样呢? 现在的函数功能已经完美的实现了,但是没人知道这个函数已经把任务完成了! 怎么证明自己呢,函数要把执行的结果返回让大家看到! 在函数的最后加上 return关键字 def mysum

Prometheus Python Client 多进程问题的解释与解决

吃可爱长大的小学妹 提交于 2020-10-02 20:08:35
本文描述基于 prometheus-client (0.8.0) 版本。 Client 存储数据的方法与问题 官方 client 用于存储数据(不管是什么 Metric 类型)使用的是一个 ValueClass 对象,默认情况下定义是: class MutexValue(object): """A float protected by a mutex.""" _multiprocess = False def __init__(self, typ, metric_name, name, labelnames, labelvalues, **kwargs): self._value = 0.0 self._lock = Lock() def inc(self, amount): with self._lock: self._value += amount def set(self, value): with self._lock: self._value = value def get(self): with self._lock: return self._value 使用这个对象而不是 float 的目的主要应该是为了在多线程情况下加锁。 显然这个值是不能在多进程场景下共享的,而多进程模式对于 Python 来说又是一种非常常用的模式,因此出现了一个

PyQt5(Python GUI图形化用户接口)

故事扮演 提交于 2020-10-02 16:01:57
前言 之前一直在开发B/S架构的web应用,虽然web应用无需额外安装,但是 browser客户端对客户端本机的硬件设备 (摄像头、蓝牙设备、打印机、串口...)进行操作。 如果Python和JavaScript之间的函数可以相互调用就好了,Python+JavaScript融合起来的Client肯定会更加强大。 PyQt5概述 Gui:Graphical User Interface又称 图形用户接口 。也就是我们俗称的 桌面应用 。 Qt :一个1991年由Qt Company开发的跨平台 C++ 图形用户界面 应用程序开发框架,支持Windows、Linux、MacOs。 PyQt5:使用Python对C++的Qt库的重新实现,由于最新Qt版本是5.11所以我们习惯称PyQt为PyQt5。 安装PyQt5 pip install PyQt5 -i http: // pypi.douban.c om/simple --trusted- host pypi.douban.com 安装pyqt5-tools 安装完pyqt5-tools之后就可以使用desinger了。 desinger是一款图形化的UI组织工具。 pip install pyqt5-tools -i http: // pypi.douban.com/simple --trusted-host pypi

Oracle 优化篇+SAA(SQL Access Advisor)用法

夙愿已清 提交于 2020-10-02 12:52:21
说明:本文为SAA(SQL Access Advisor)使用参考手册 用途:本文仅供初学者熟悉了解SQL Access Advisor或优化参考 标签:SQL Access Advisor、SAA、SAA使用方法、Oracle优化、SQL调优、SAA流程图 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化 高级内容:由于篇幅原因,部分高级内容和详情没有在此展现,如有需要可以留言或私信 ★知识点 ※ SQL Access Advisor是伴随着10G出现的一个优化工具,提供对表分区,物化视图,索引,物化视图日志优化建议 ※ 查看advisor的默认参数:select * from dba_advisor_def_parameters order by 2; ★ SAA流程图 ★ STS作为输入源 --本文选取了STS的输入源类型之A【Cursor Cache】 → dbms_sqltune.select_cursor_cache --模拟DML操作产生CURSOR_CACHE sqlplus scott/tiger set line 170 set pages 200 select count(*) from scott.emp where sal>3000; --删除SAA exec dbms_advisor.delete_task('ZZT

Python Kafka 报错:ImportError: cannot import name &apos;KafkaConsumer&apos;

笑着哭i 提交于 2020-10-02 12:51:54
在Django的项目中安装了 kafka-python ,但是不能正常运行,直接就报错了。 import sys from kafka import KafkaConsumer def kafkatest(): print "Step 1 complete" consumer=KafkaConsumer('test',bootstrap_servers=['localhost:9092']) for message in consumer: print "Next message" print message if __name__=="__main__": kafkatest() 然后在使用时,报错提示: ImportError: cannot import name 'KafkaConsumer' 找了半天没有找到解决方案,最后发现自己创建的文件名叫做: kafka.py ,突然意识到问题出在哪里了。 原因: 简单说就是因为,创建的文件名是 kafka.py ,这会导致代码运行时,python解释器查找kafka的模块时,就找到自身(kafka.py)了,所以就报错。 解决办法: 修改文件名字为其他名字,比如: com_kafka.py ,在运行就可以运行了。 本文首发于 BigYoung小站 来源: oschina 链接: https://my.oschina.net/u

【python接口自动化】- openpyxl读取excel数据

喜欢而已 提交于 2020-10-02 11:36:18
【python接口自动化】- openpyxl读取excel数据 前言:目前我们进行测试时用于存储测试数据的软件几乎都是excel,excel方便存储和管理数据,读取数据时也比较清晰,测试时我们需要从excel从读取测试数据,结束后还需把测试结果写入到excel中,读取这一动作以往都是通过人工来操作,学会使用openpyxl后,就可以实现自动化地读取数据,解放双手。 1|0openpyxl简单介绍 ​ openpyxl是一个开源项目,它是一个用于读取/写入Excel 2010文档(如xlsx 、xlsm 、xltx 、xltm文件 )的Python库,如果要处理更早格式的Excel文档(xls),需要用到其它库(如:xlrd、xlwt等),这是openpyxl比较其他模块的不足之处。openpyxl是一款比较综合的工具,不仅能够同时读取和修改Excel文档,而且可以对Excel文件内单元格进行详细设置,包括单元格样式等内容,甚至还支持图表插入、打印设置等内容。 ​ python中与excel操作相关的模块: 📔 xlrd库:从excel中读取数据,支持xls、xlsx格式 📔 xlwt库:对excel进行修改操作,但不支持对xlsx格式的修改 📔 xlutils库:在xlwt和xlrd中,对一个已存在文件进行修改 📘 openpyxl库

几行python代码实现钉钉自动打卡,网友:终于告别缺勤了

对着背影说爱祢 提交于 2020-10-02 09:57:54
前言 众所周知因为疫情的原因大家都没有办法上学和上班,“钉钉”这个app起到了重大的作用。学校为了学生成绩开启“钉钉”之路。老师也成一个“合格”的主播,感谢XXX童鞋的礼物、666扣起来 老师为了营造一个好的学习环境,直播风格也是独具一格。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:1097524789 钉钉到底有什么功能为大众所用呢? 为什么要写钉钉打卡? 其实我是个早起早睡的乖宝宝,所以我是用不上的,至于为什么要写这个脚本,其实是因为我在加班,工作干完了,还有10分钟可以下班,那就利用10分钟学(装)个(个)习(B)。废话就不说了, 快下班了。直接开干. 说下思路吧 用python调用adb命令通过x,y点位来操作手机,在写个定时器就好了,简单吧。10分钟够了…… 准备环境 Android 手机一部(我用的华为荣耀10) adb 工具包,下载安装包并配置环境变量 python3环境 安装adb 配置环境变量 下载adb : 网上太多了,找一个就好了,我要和时间赛跑 (> _ <……) 配置环境变量: 这个是基础

条件格式化1

血红的双手。 提交于 2020-10-02 09:55:33
import pandas excel =pandas.read_excel(r ' E:\pandas练习\成绩单.xlsx ' ) def low_score_red(s): color = " red " if s<60 else " black " return " color:{} " .format(color) a =excel.style.applymap(low_score_red,subset=[ ' test_1 ' , ' test_2 ' , ' test_3 ' ]) def highest_score_green(col): return [ " background-color:yellow;color:green " if s==col.max() else " background-color:green;color:brown " for s in col] a.apply(highest_score_green,subset =[ ' test_1 ' , ' test_2 ' , ' test_3 ' ]) 来源: oschina 链接: https://my.oschina.net/u/4392911/blog/4357975

FastAPI 工程管理(四) 工程示例

倾然丶 夕夏残阳落幕 提交于 2020-10-02 09:04:49
作者:麦克煎蛋 出处:https://www.cnblogs.com/mazhiyong/ 转载请保留这段声明,谢谢! 结合前期学习的过程,整理了一份工程实例模板,在基于FastAPI框架的前提下,参考了Flask的一些业务逻辑和文件配置。 在测试环境和生产环境都经过了实际测试,个人认为可以实际应用于正式环境了。 代码地址: https://github.com/zhiyongma/fastproject 工程目录结构 ├── app │ ├── auth # JWT Authorization │ ├── models # database models │ ├── routers # api routers │ └── util # utility │ ├── __init__ .py # entry file │ ├── config.py # project config │ ├── database.py # database ├── deploy # deploy tools │ ├── gunicorn_fast.service # service sample │ ├── test_user.sql # user db sample ├── gunicorn.py # gunicorn config ├── local.py # for development

「网易官方」极客战记(codecombat)攻略-沙漠-脆弱的士气-brittle-morale

徘徊边缘 提交于 2020-10-02 08:50:10
(点击图片进入关卡) 当指挥官倒下之时,敌人将会撤退。 简介 你只有一名弓箭手,因此你需要首先打败兽人首领! 遍历 enemies 数组,比较他们的 health 。最多 health 的敌人就是了! 默认代码 # 你有一个弓箭手。 让它数! # 这将返回一个最多生命值的敌人 def findStrongestEnemy(enemies): strongest = None strongestHealth = 0 enemyIndex = 0 # 当 enemyIndex 少于敌人的长度 # 将敌人变量设置为敌人[enemyIndex] # 如果 enemy.health 大于 strongestHealth # 将 `strongest` 赋值为 enemy # 将strongestHealth赋值为enemy.health # 让 enemyIndex 递增 return strongest enemies = hero.findEnemies() leader = findStrongestEnemy(enemies) if leader: hero.say(leader) 概览 为了找到兽人首领,你需要创建一个函数,找到最大血量的兽人。 函数应该接收一个含有敌人的数组,返回一个敌人。 使用 enemy.health 作为比较依据。 复习一下怎么迭代数组: array = [