day5学python 基础+装饰器内容

基础+装饰器内容

  递归特性
# 1.必须有一个明确的结束条件
# 2.每次进入更深一层递归时,问题规模相比上次递归应有所减少
# 3.递归效率不高
def run(n):print(n)if int(n/2)>0:return run(n / 2)print("-->",n)
run(10)

 

=============================================================

  局部变量与全局变量知识

1.全局变量中 数字/字符串不能在函数中修改 列表和字典可以修改

names=["xiao","mibg","ming"]
def change():names[0]="cf"print(names)
change()
print(names)

 

==============================================================

函数即”变量“! (函数名-代表函数地址 || 函数名()-代表调用函数)

  高阶函数

1 把一个函数名当作实参传给另一个函数(在不修改被装饰函数源代码的情况下为其添加功能)

2 返回值中包含函数名(不修改函数的调用方式)

 

==============================================================

  装饰器

高级函数+嵌套函数==>装饰器  #嵌套函数-函数套着函数

# 定义:本质是函数,(装饰其他函数)为其他函数添加附加功能
# 原则: 1.不能修改被装饰的函数的源代码
# 2.不能修改被装饰的函数的调用方式

 

import timeuser,word="cf","123"
def auth(auth_type):  print("auth_type",auth_type)def out_wrapper(func): def wrapper(*args,**kwargs):if(auth_type=="local"):usename=input("usename:").strip()psword= input("psword:").strip()if(user==usename and psword==word):print("\033[32;1m HI boy \033[0m")func(*args,**kwargs)else:exit("failed")elif(auth_type=="ldap"):func()return wrapperreturn out_wrapper
def index():print("index")@auth(auth_type="local")       #home=auth(local)==>wrapper()
def home():print("home")
@auth(auth_type="ldap")
def bbs():print("bbs")index()
home()
bbs()

 

转载于:https://www.cnblogs.com/cc123nice/p/10468446.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在Windows 10上跳过回收站以删除文件

Windows 10 normally sends files you delete to the Recycle Bin. They’ll be kept until you empty it—or, in some cases, until Windows 10 automatically empties your Recycle Bin. Here’s how to skip the Recycle Bin and delete files immediately. Windows 10通常…

OSChina 周日乱弹 —— 我叫张一条

2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 莱布妮子 :分享Lube的单曲《Skoro dembel》 《Skoro dembel》- Lube 手机党少年们想听歌,请使劲儿戳&am…

面向对象初识

一. 面向对象初识 1.1 回顾面向过程编程vs函数式编程 # 面向过程编程 测量对象的元素个个数。 s1 fjdsklafsjda count 0 for i in s1:count 1l1 [1,2,3,4] count 0 for i in l1:count 1 面向过程编程def func(s):count 0for i in s:count 1return count …

iOS逆向:在任意app上开启malloc stack追踪内存来源

lldb有一个内存调试工具malloc stack,开启以后就可以查看某个内存地址的malloc和free记录,追踪对象是在哪里创建的。 这个工具可以打印出对象创建的堆栈,而在逆向时,也经常需要追踪某些方法的调用栈,如果可以随时打印出…

【CH4302】Interval GCD

思路:线段树维护a的差分数组的gcd, 因为$gcd(a_1,a_2,a_3,...,a_n)gcd(a_1,a_2-a_1,a_3-a_2,...,a_n-a_{n-1})$。 原区间修改可以转化为差分数组上的两次单点修改。 因为实际计算时还需要原数,所以用树状数组维护b的增减量。 询问时&#xff…

Vue 的路由实现 Hash模式 和 History模式

Hash 模式: Hash 模式的工作原理是onhashchange事件,Window对象可以监听这个事件... 可以通过改变路径的哈希值,来实现历史记录的保存,发生变化的hash 都会被浏览器给保存下来,所以下次尽管浏览器没有请求服务器,但是还…

我的第一次——网站备案

暂无内容 转载于:https://my.oschina.net/vright/blog/1784979

使用LiveClick升级您的实时书签

If you like to subscribe to feeds using Firefox’s Live Bookmarks feature, the LiveClick extension gives you so many upgrades that I can only cover the highlights of how great it is. 如果您想使用Firefox的“实时书签”功能订阅供稿,则LiveClick扩展程…

操作系统的概论梳理

转载于:https://www.cnblogs.com/hclhechunlu/p/10477470.html

win7下如何显示缅文和使用缅文输入法?

windows 7 操作系统默认不支持缅文,所以缅文在win7上不能显示,当然也没有提供缅文输入法。 一、显示缅文 windows系统下显示缅文字母只需要安装缅文字体就可以了。目前常见的缅文字体就是Zawgyi-One,Zawgyi-One是一种广泛使用的缅文字体。Zaw…

airpods2使用_如何使用AirPods和AirPods Pro:完整指南

airpods2使用Burdun Iliya/ShutterstockBurdun Iliya /快门Just bought yourself or received a new pair of AirPods or AirPods Pro? Welcome to the truly wireless earphones life. Setting up AirPods is quite straightforward, but here’s how to customize and get t…

LANG

修改 /etc/sysconfig/i18n 文件 locale 查看字符集 转载于:https://www.cnblogs.com/todayORtomorrow/p/10479594.html

如何在iPhone上共享视频之前从视频中删除音频

Sometimes, you’d like to share a video with others, but the accompanying audio track is distracting or perhaps introduces privacy concerns. Luckily, there’s a quick way to silence a video using Photos on iPhone and iPad. Here’s how. 有时,您想…

入门第十一课 Python语句的嵌套

1、说个小故事:话说一个人买到一个治疗瘙痒的偏方,在拆开无数层的包装后,得到的只是一张写着“挠挠”的小纸条儿。 嵌套,类似于在一个语句中,嵌套另一个语句。举个栗子-_-!! 我们要计算从1到100之间,所有的…

【TensorFlow篇】--Tensorflow框架实现SoftMax模型识别手写数字集

一、前述 本文讲述用Tensorflow框架实现SoftMax模型识别手写数字集,来实现多分类。 同时对模型的保存和恢复做下示例。 二、具体原理 代码一:实现代码 #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名: 12_Softmax_regression.pyfrom tensorflow.ex…

web页面锁屏初级尝试

因为工作需要&#xff0c;所以在网上找了一些素材来弄这个功能。在我找到的素材中&#xff0c;大多都是不完善的。虽然我的也不是很完善&#xff0c;但是怎么说呢。要求不是很高的话。可以直接拿来用的【需要引用jQuery】。废话不多说直接上代码 这部分是js代码 1 <script&g…

Java 并发工具箱之concurrent包

概述 java.util.concurrent 包是专为 Java并发编程而设计的包。包下的所有类可以分为如下几大类&#xff1a; locks部分&#xff1a;显式锁(互斥锁和速写锁)相关&#xff1b;atomic部分&#xff1a;原子变量类相关&#xff0c;是构建非阻塞算法的基础&#xff1b;executor部分&…

如何提高gps精度_如何在锻炼应用程序中提高GPS跟踪精度

如何提高gps精度l i g h t p o e t/Shutterstocklightpoet /快门Tracking your runs, bike rides, and other workouts is fun because you can see how much you’re improving (or, in my case, dismally failing to improve). For it to be effective, though, you have to …

centos proftp_在CentOS上禁用ProFTP

centos proftpI realize this is probably only relevant to about 3 of the readers, but I’m posting this so I don’t forget how to do it myself! In my efforts to ban the completely insecure FTP protocol from my life entirely, I’ve decided to disable the FTP…

Java通过Executors提供四种线程池

http://cuisuqiang.iteye.com/blog/2019372 Java通过Executors提供四种线程池&#xff0c;分别为&#xff1a;newCachedThreadPool创建一个可缓存线程池&#xff0c;如果线程池长度超过处理需要&#xff0c;可灵活回收空闲线程&#xff0c;若无可回收&#xff0c;则新建线程。n…