#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import time # def logger(): # time_format = "%Y-%m-%d %X" # time_current = time.strftime(time_format) # with open("log.txt", 'a+') as f: # f.write("%s end action\n" %t…
python函数可变参数 (Variable Argument) 的方法:使用*args和**kwargs语法.其中,*args是可变的positional arguments列表,**kwargs是可变的keyword arguments列表.并且,*args必须位于**kwargs之前,因为positional arguments必须位于keyword arguments之前 下面一个例子使用*args,同时包含一个必须的参数: def test_args(first, *args): pr…
1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 while True:     if cpu利用率 > 90%:         #发送邮件提醒         连接邮箱服务器         发送邮件         关闭连接           if 硬盘使用空…
python中的魔法参数:*args和**kwargs def foo(*args, **kwargs):print 'args = ', argsprint 'kwargs = ', kwargsprint '---------------------------------------'if __name__ == '__main__':foo(1,2,3,4)foo(a=1,b=2,c=3)foo(1,2,3,4, a=1,b=2,c=3)foo('a', 1, None, a=1, b=…
摘要: 复习day2内容 介绍set()-->归档到day2了... collections模块常用类 深浅copy的区别 自定义函数 文件操作 常用内建函数介绍 一.深浅copy的区别 #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Q1mi" """ 深浅copy的区别 """ import copy # 数字.字符串:赋值.浅拷贝和深拷贝…
阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你计算'hello world'的长度,你怎么计算? 这个需求对于现在的你其实不难,我们一起来写一下. s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) for循环实现len功能 好了,功能实…
1. Python中使用*args和**kwargs #!/usr/bin/env python3 # coding: utf-8 # File: args_kwargs_demo.py # Author: lxw # Date: 10/9/17 11:16 AM """ Demos for "*args" & "**kwargs" in Python. Reference: [Python中如何使用*args和**kwargs…
python字典dictionary几个不常用函数例子 一.字典声明 如,d={}; d= {'x':1,'b':2} d1 = dict(x=1,y=2,z=3)     d2 = dict(a=3,b=4,c=5) 二 .方法说明: 参考:http://blog.csdn.net/wangran51/article/details/8440848 Operation Result Notes len(a) the number of items in a 得到字典中元素的个数   a[k]…
一 首先我们学到函数的嵌套调用与定义:1 函数嵌套 # def f1(): # print(f1)#我们这里如果输入f1那么输出的则是f1这个变量(函数)所在的地址.如果输入一个字符的话那么就直接输出该字符 # def f2(): # print(f2) # def f3(): # print(f3) # f3() # # f2() # f1() 那么我们在调用时,必须由外到内,也就是说我们如果想调用f3那么我们必须先通过f1才可以 2 函数的嵌套调用:在函数内又调用了其他函数. def max…
一   函数 1  那么要想学习函数,我们首先应该知道函数是什么? 我们这里所说的函数与数学中的函数是不同的概念,在这里我们可以把函数看成我们写代码过程中需要用到的工具. 2  那么这个‘工具’有什么作用呢? 1, 首先会让我们的代码变的结构变得清晰,可读性强. 2 ,我们不需要再进行大量的重复代码编写,避免代码过长,导致冗余,可读性变差. 3 ,修改代码变得简单,只需要找出需要修改的地方,修改之后其他地方有重复功能的代码不需要重复的修改. 二 函数的分类 1.内置函数 为了方便我们的开发,针对…
参考自: http://www.jb51.net/article/78705.htm 单星号形式(*args)用来传递非命名键可变参数列表.双星号形式(**kwargs)用来传递键值可变参数列表. 1. 传递了一个固定位置参数和两个变长参数. def test_var_args(farg, *args): print "formal arg:", farg for arg in args: print "another arg:", arg test_var_arg…
在Python中,可变参数的传递使用*args和**kwargs来实现,其中: *args表示任意个位置参数(positional argument),被表示为一个只读的数组(tuple): **kwargs表示任意个关键字参数(keyword argument),被表示为一个字典(dict). 例如: >>> def foo(*args, **kwargs): ... print("*args:\t\t", args) ... print("**kwarg…
函数式编程介绍   函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 函数式编程中的函数这个术语不是指计算机中的函数(实际上是Subroutine),而是指数学中的函数,即自变量的映射.也就是说一个函数的值仅决定于函数参数的值,不依赖其他状态.比如sqrt(x)函数计算x的平方根,只要x不变,不论什么时候调用,调用几次,值都是不变的. Pytho…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 变量可以指向函数,函数的参数能接收变量, 那么一个函数就可以接收另一个函数作为参数, 这种函数就称之为高阶函数. """ def add(x,y,f): return f(x)+f(y) res = add(3,-6,abs) print(res)…
装饰器 某公司的基础业务平台如下: def f1(): print('这是f1业务平台') def f2(): print('这是f2业务平台') def f3(): print('这是f3业务平台') def f4(): print('这是f4业务平台') def f5(): print('这是f5业务平台') 各业务部门是这样调用的: #f1业务部门调用f1() #f2业务部门调用f2() #f1业务部门调用f3() #f4业务部门调用f4() #f5业务部门调用f5()   随着公司的规模…
函数 1.什么是函数 函数就是一种工具. 可以重复调用 2.为什么要用函数 1.防止代码冗(rong)余 2.代码的可读性差 3.怎么用函数 1.定义函数-->制造工具 2.调用函数-->使用工具 1.无参函数: def index(): print('ok') 2.空函数: def login(): pass 3.有参函数: def login(username): print(username) 可以:a=index a()使用函数 返回值: 1.不写return:默认返回None 2.只…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 全局与局部变量 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. """ school = "tsinghua" #全…
字典 dic{key:value} 元组与列表相似,唯一就是不能修改dic = {'name':'alex','age':18}查询print(dic['name']) #会报错get方法查询,查询之后,如果不包含,不会报错,返回noneprint(dic.get('name'))增加dic['gender'] = 'lwq'print(dic)字典中的元素是无序的,字典是通过key找值得.改dic['name'] = 'dt'字典不能改key,只能改value删除del dic['name']…
一  函数的参数: 我们把函数的参数分为形式参数和实际参数,简称形参和实参. 形参:在定义函数时,函数名括号内定义的参数. 实参:在调用函数时,函数名括号内需要用户传入的值. 注意: 实参值(相当于变量的值)与形参(变量名)的绑定关系只在函数调用时才会生效,在函数调用结束后接触绑定关系. 二  那么我们所学的函数参数有:位置形参与默认形参,位置实参与关键字实参. 位置形参: def foo(x,y,z) print(x,y,z,) 那么在foo后面的就叫做位置形参,调用函数时必须为其传值,多一个…
一.文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Somehow,…
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa """ 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身, 这个函数就是递归函数. 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈 (stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧, 每当函数…
一.习题讲解 1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.例如:[(‘红心’,2), (‘草花’,2), …(‘黑桃,‘A’)] def cards(): num=[] for v in range(2,11): num.append(v) num.extend(['J','Q','K','A']) type=['红心','草花','方块','黑桃'] result=[] for i in num: for j in type: result.append((j,i)) re…
普通参数,即在调用函数时必须按照准确的顺序来进行参数传递. 默认参数,即参数含有默认值,在调用函数时可以进行参数传递,若没有进行参数传递则使用默认值,要注意,默认参数必须在普通参数的右侧(否则解释器无法解析). 元组参数,即 *args,参数格式化存储在一个元组中,长度没有限制,必须位于普通参数和默认参数之后. 字典参数,即 **kwargs,参数格式化存储在一个字典中,必须位于参数列表的最后面. 普通参数 def fun(name): print('Hello', name) fun('Wor…
一 . 函数 什么是函数 f(x) = x + 1 y = x + 1 # 函数是对功能或者动作的封装 函数的语法 def 函数名(): 函数体 调用: 函数名() def play(): print('今天我想打篮球') print('今天我想玩游戏') print('今天我想弹钢琴') print('今天我想跳舞') play() 函数的返回值 return : 返回 1. 当程序没写过return, 不返回任何结果. 如果你非要接收. 接受到的是None 2. 当函数写return 值,…
def generator(): print(123) yield 1 print(456) yield 2 g = generator() ret = g.__next__() print('***'ret) ret = g.send(None) #send 效果和 next一样 print('***'ret) next与send 归纳: 1.send 获取下一个值得效果和next基本一致 2.只是在获取下一个值得时候,给上一个yield的位置传一个参数 使用send的注意事项 1.第一次使用…
In [80]: class MyClass001: ....: def selfDemo(self): ....: print 'My Demo' ....: In [81]: p = MyClass001() In [82]: p.selfDemo()My Demo In [83]: In [83]: class MyClass002: ....: def selfDemo(self): ....: print self ....: In [84]: p=MyClass002() In [8…
知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元组) 按访问顺序区分:直接访问(数字) 顺序访问(字符串.列表.元组) key值访问(字典) 1. 集合 主要作用: 1)去重 2)关系测试:交集.差集.并集.反向差集等 2. 元组 元组是一个自读列表,只有count和index这2个方法 例如:如果一些数据不想被人修改,可以存成元组,比如身份证列…
大纲 1.汉字编码 2.浅拷贝与深拷贝 3.函数 4.return 5.函数的基本参数 6.format 7.三元运算(三目运算) 8.python的内置函数 abs() all() any() bool() bin() oct() hex() bytes() callable() ord() chr() compile() exec() eval() dir() help() filter() 9.open函数 汉字编码 汉字的字节: utf-8 一个汉字:三个字节 gbk  一个汉字:二个字…
Python之路---初识函数️ 程序员三大美德: 懒惰 因为一直致力于减少工作的总工作量. 缺乏耐性 因为一旦让你去做本该计算机完成的事,你将会怒不可遏. 傲慢 因为被荣誉感冲晕头的你会把程序写得让谁都挑不出毛病来. 大家好, 现在让我们一起来学习一下函数 Why-为什么要使用函数? 现在我们需要计算一个字符串的长度,我们可以直接使用len()方法: num = len('hello') 但是如果我们不用len方法,怎么实现这个需求?其实也不难: s = 'hello' length = 0…
Python学习之路 第一天   Python之路,Day1 - Python基础1介绍.基本语法.流程控制              第一天作业第二天   Python之路,Day2 - Python基础2列表.字典.集合              第二天作业 第三天   Python之路,Day3 - Python基础3   函数.递归.内置函数              第三天作业 第四天   Python之路,Day4 - Python基础4   迭代器.装饰器.软件开发规范     …