Python【函数使用技巧】】的更多相关文章

Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 80% 的工作量.优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率. 改进算法,选择合适的数据结构 一个良好的算法能够对性能起到关键作用,因此性能改进的首要点是对算法的改进.在算法的时间复杂度排序上依次是: O(1) -> O(lg n) -> O(n lg n) -> O(n^2…
毫不夸张的说,python语言中关于函数参数的使用,是我见过最为灵活的,随便怎么玩都可以,本文以数学乘法为例,演示几种不同的传参形式: 一.默认参数 def multiply1(x, y): return x * y print("multiply1:", multiply1(2, 3)) 输出 multiply1: 6  ,这是最平淡无奇的函数写法. python支持默认参数,比如:如果想让1个数自动乘10,又不想定义新的函数,上面的代码,可以改成: def multiply1(x,…
Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python #  -*- coding: utf8 -*- spath = " D:/download/baa.txt " f = open(spath, " w " )  #  Opens file for writing.Creates this file doesn't exist. f.write( " First line 1.\n " )…
看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运行.Python中的函数在其他语言中也叫做过程或子例程,那么这些被包装起来的语句通过一个函数名称来调用. 有了函数,我们可以在很大程度上减少复制及粘贴代码的次数了(相信很多人在刚开始时都有这样的体验).我们可以把相同的代码可以提炼出来做成一个函数,在需要的地方只需要调用即可.那么,这样就提高了代码的…
Python学习小技巧之列表项的排序 本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1:     data_list = [6, 9, 1, 3, 0, 10, 100, -100]  data_list.sort()  print(data_list) 输出1:     [-100, 0, 1, 3, 6, 9, 10, 100] 典型代码2:      data_list = [6, 9, 1, 3, 0, 10, 100, -10…
Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析.字典解析和集合解析: 3.学会使用随机数的库生成测试用例: 4.学会使用列表生成式创建列表. 列表生成式即 List Comprehensions ,是 Python 内置的非常简单却强大的可以用来创建 list 的生成式. 知识点与例题讲解 下面我们给出几种在列表.字典集合中筛选数据的解决方案:…
30个有关Python的小技巧 2013/07/04 · Python, 开发 · 4 评论 · Python 分享到: 66 本文由 伯乐在线 - Kevin Sun 翻译.未经许可,禁止转载!英文出处:sahandsaba.欢迎加入翻译组. 从我开始学习python的时候,我就开始自己总结一个python小技巧的集合.后来当我什么时候在Stack Overflow 或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!,当时我会努力的自己尝试一下这段代码,直到我懂了它的整体…
Python函数07/有参装饰器/多个装饰器装饰一个函数 目录 Python函数07/有参装饰器/多个装饰器装饰一个函数 内容大纲 1.有参装饰器 2.多个装饰器装饰一个函数 3.今日总结 3.今日练习 内容大纲 1.有参装饰器 2.多个装饰器装饰一个函数 1.有参装饰器 # def auth(argv): # def wrapper(func): # def inner(*args,**kwargs): # func(*args,**kwargs) # return inner # retur…
python算法常用技巧与内置库 近些年随着python的越来越火,python也渐渐成为了很多程序员的喜爱.许多程序员已经开始使用python作为第一语言来刷题. 最近我在用python刷题的时候想去找点python的刷题常用库api和刷题技巧来看看.类似于C++的STL库文档一样,但是很可惜并没有找到,于是决定结合自己的刷题经验和上网搜索做一份文档出来,供自己和大家观看查阅. 1.输入输出: 1.1 第一行给定两个值n,m,用空格分割,第一个n决定接下来有n行的输入,m决定每一行有多少个数字…
https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ Python 代码调试技巧 张 颖2012 年 5 月 03 日发布 WeiboGoogle+用电子邮件发送本页面   1 使用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点.单步调试.进入函数调试.查看当前代码.查看栈片段.动态改变变量的值等.pdb 提供了一些常用的调试命令,详…
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第2期,本系列立足于笔者日常工作中使用Python辅助办公的心得体会,每一期为大家带来一个3分钟即可学会的简单小技巧. 作为系列第2期,我们即将学习的是:为Python函数添加执行超时检查功能. 某些常用的库如requests的get()函数,具有特定的参数timeout,设置后可以在其运行超过一定时间还…
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 定义函数 >>> def hello(): #def 关键字 hello 函数名 print('Hello,world!') >>> hello() #通过名字调用函数 Hello,world! >>> def product(x,y): #…
函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们是作什么用的 为什么非要介绍这个呢?或者说它们的作用是什么? 原因是因为我们的在学习Python函数的时候,经常会遇到很多定义域的问题,全部变量,内部变量,内部嵌入的函数,等等,Python是如何查找的呢?以及Python又是按照什么顺序来查找的呢?这里做一个顺序的说明 3.顺序是什么 跟名字一样,…
Python函数…
Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pass 2 3 >>> a=yes 4 >>> a.func_name 5 'yes' 6 >>> 2.获取函数的flags[后面有用,先说这个] [python docs]:The following flag bits are defined for c…
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文请点击: http://cenalulu.github.io/python/default-mutable-arguments/ 陷阱重现 我们就用实际的举例来演示我们今天所要讨论的主要内容. 下面一段代码定义了一个名为generate_new_list_with的函数.该函数的本意是在每次调用时都…
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def func(): #定义函数func() print("in the func") foo() #调用函数foo() func() #执行函数func() def foo(): #定义函数foo() print("in the foo") ###########打印输出####…
理解python metaclass使用技巧与应用场景分析       参考: decorator与metaclass:http://jfine-python-classes.readthedocs.org/en/latest/index.html 深入理解python中的metaclass: http://blog.jobbole.com/21351/ 廖雪峰:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb49318210…
对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前面定义的. 3. 程序执行的时候,遇到函数定义只会先将函数整体读进内存,并不立刻执行.等到函数被调用的时候才执行函数体. 4. python函数的参数传递的是一个引用而不是值.这点很重要.这一点可以用下面的例子证明: def f1(a_list): s = id(a_list) a_list[0]…
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过程抽象和数据抽象.过程抽象有时也称控制抽象. 子程序在1950年以前就发明了,作为一种抽象那时候并未被完全接受.相反,最初它被看做是一种节省代码的机制,但很快子程序就被认可为过程抽象的一种方式.意识到子程序可以作为一种抽象机制,这产生了三个重要结果. 人们发明了一些语言,支持各种参数传递机制 奠定了…
Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? 首选我们也需要定义一个函数def fx(): def 在Python中相当于f(x),就是定义函数的意思.…
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传递. 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本.值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值. 引用传递(pass-…
在python的函数中经常能看到输入的参数前面有一个或者两个星号:例如 def foo(param1, *param2): def bar(param1, **param2): 这两种用法其实都是用来将任意个数的参数导入到python函数中. 单星号(*):*agrs 将所以参数以元组(tuple)的形式导入: 例如: >>> def foo(param1, *param2): print param1 print param2 >>> foo(1,2,3,4,5) 1…
def fun(arg,args=1,*arg,**keywords): python 一共有这四类参数,第一类最常见,不用多说,第二类,关键字参数,python能通过关键字找到参数,python函数的这种特性使得函数参数更加灵活,不一定要按顺序来传,第三类:一个星号是将非关键字参数收集起来,以tuple的形式保存,第四类则必须要提供”传递参数名=传递参数值”形式传递参数. 至于怎么传,相信大家都知道,这里不多说. 要说明的是在python2中这四类参数传递时是有优先顺序的,不管是定义函数,还是…
1. 函数简介 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print():也可以自己创建函数,这被叫做用户自定义函数. 2. 函数定义 规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串,用于存放函数说明. 函数内容以冒号起始,并且缩进. return [表…
我们一起来聊聊python函数返回值的特殊情况,之前我也碰到过类似方面的问题,到后来查阅了一些资料后,发现原来是这样. 首先,写函数的时候,一定要写函数的文档,这样方便我们识别函数是做什么的.我记得很久以前和大家聊过python列表操作方法,python列表非常的强大,提供了很多内置的方法使得你可以通过python的列表结构和操作做很多你想要的事情,我记得它里面有一些方法,比如append,还有sort方法,这几个方法应该在你的程序里时不时会出现吧,可见频率之高!我当时开始学习的话,用这2个列表…
python函数参数的pack与unpack 上周在使用django做开发的时候用到了mixin(关于mixin我还要写一个博客专门讨论一下,现在请参见这里),其中又涉及到了一个关于函数参数打包(pack)的问题,导致延误了开发时间,所以在这里记录一下,稍后会说到具体的背景. 背景交代: 具体情景是这样的,我需要一个view可以在查询的同时可以分页,又可以在返回的 queryset 上做更多的查询操作.为了解决这个问题,我自己写了一个mixiin : class MultipleOjbectQu…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
目录[+] 1.1 拆箱 1.2 拆箱变量交换 1.3 扩展拆箱(只兼容python3) 1.4 负数索引 1.5 切割列表 1.6 负数索引切割列表 1.7指定步长切割列表 1.8 负数步长切割列表 1.9 列表切割赋值 1.10 命名列表切割方式 1.11 列表以及迭代器的压缩和解压缩 1.12 列表相邻元素压缩器 1.13 在列表中用压缩器和迭代器滑动取值窗口 1.14 用压缩器反转字典 1.15 列表展开 1.16 生成器表达式 1.17 字典推导 1.18 用字典推导反转字典 1.19…
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s1))<class 'set'> add() 增加元素 >>> s1.add('tom')>>> print(s1){'tom'} clear() 清空 >>> s1.clear()>>> print(s1)set() 差集…