函数:逻辑结构化和过程化的一种编程方法

面向对象---》类 class

面向过程---》过程 def

函数编程---》函数def

import time
def logger():
time_format='%Y-%m-%d %X'#格式化时间
timecurrent=time.strftime(time_format)
with open("log.txt","a+",encoding="utf-8") as f:
f.write("%s hello.............\n"%(timecurrent))
def test1():
print("this is test1")
logger()
def test2():
print("this is test2")
logger()
def test3():
print("this is test3")
logger() test1()
test2()
test3(

  函数的优点:

1.代码重用

2.一致性

3.可扩展性

def test1():
print("in this is test1") def test2():
print("in this is test2")
return 1
print("return 以后")#只要先返回return 这行就不执行 def test3():
print("in this is test3")
return 0,"hello",["apple","banner"],{"name":"hunter"}
x=test1()
y=test2()
z=test3() print(x)#返回none
print(y)#返回一个object
print(z)#返回一个元组

  

def test(x,y,z):
print(x)
print(y)
print(z) test(1,z=2,y=3)#如果有传递的参数既有位置参数又有关键参数,必须是位置参数优先。

 

def test(*args):#参数组 接受n个位置参数,转换成元组的形式
print(args)#一个元组 test(1,2,3,4,5)
test(*[1,2,3,4,5,6]) def test1(x,*args):#位置参数,参数组
print(x)
print(args) test1(1,2,3,4,5) def test2(**kwargs):#kwargs 把n个关键字参数 转换成字典的形式
print(kwargs)
test2(name="hunter",age=18,sex="man")
test2(**{'name':'hunter','age':20}) #位置参数不能写在关键参数后面 #大融合
def test3(name,age=18,*args,**kwargs):
print(name)
print(age)
print(args)
print(kwargs) test3("hunter",27,1,2,3,4,sex='man')#位置参数,关键参数,

  注意:位置参数不能放在关键参数后面,*args是n个位置参数转换为元组,**kwargs是n个关键参数转换为字典。

 

python自学第7天,函数,参数的更多相关文章

  1. python通过装饰器检查函数参数的数据类型的代码

    把内容过程中比较常用的一些内容记录起来,下面内容段是关于python通过装饰器检查函数参数的数据类型的内容. def check_accepts(f): assert len(types) == f. ...

  2. python 装饰器修改调整函数参数

    简单记录一下利用python装饰器来调整函数的方法.现在有个需求:参数line范围为1-16,要求把9-16的范围转化为1-8,即9对应1,10对应2,...,16对应8. 下面是例子: def fo ...

  3. Python学习总结18:函数 参数篇

    1. 判断函数是否可调用 >>> import math >>> x = 1 >>> y = math.sqrt >>> cal ...

  4. Python学习札记(十三) Function3 函数参数二

    参考:函数参数 Note A.关键字参数: 1.关键字参数:**kw 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的 ...

  5. python 零散记录(六) callable 函数参数 作用域 递归

    callable()函数: 检查对象是否可调用,所谓可调用是指那些具有doc string的东西是可以调用的. 函数的参数变化,可变与不可变对象: 首先,数字 字符串 元组是不可变的,只能替换. 对以 ...

  6. Python全栈之路----函数----参数

    参数可以让你的函数更灵活,不只能做死的动作,还可以根据调用时传参的不同决定函数内部的执行流程. 形参:只有在被调用时才分配内存单元,在调用结束时,即可释放所分配的内存单元.因此形参只在函数内部有效.函 ...

  7. python之路---09 初始函数 参数

    二十七.初始函数 1.函数: 对代码块和功能的封装和定义 2.格式及语法 def  函数名()           #  定义 函数体 函数名()              #  调用 3.    r ...

  8. python可变容器类型做函数参数的坑

    def extendList(val, list=[]): # []默认参数的只指向一个地址 list.append(val) return list list1 = extendList(10) l ...

  9. Python自学:第二章 使用函数str( )避免类型错误

    age = 23 message = "Happy " + str(age) + "rd Birthday" print(message) 输出位 Happy ...

  10. [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)

    一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...

随机推荐

  1. python hello 的三种方法

    1)直接 print("hello") 2)使用main函数: def main(): print("Helloa你好") if __name__ == &qu ...

  2. Dom 兼容处理

    获取子节点:childNodes 在IE下是可以正常使用的 但是在FF包含了文本节点需要配合nodeType做个类型判断  1是元素节点  3是文本节点 也可以采用 children IE       ...

  3. axios、ajax、fetch三者的区别

    1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新 优缺点: 1)局部更新 2)原生支持,不需要任何插件 3)原生支持, ...

  4. 51Nod 1185 威佐夫游戏 V2

    有2堆石子.A B两个人轮流拿,A先拿.每次可以从一堆中取任意个或从2堆中取相同数量的石子,但不可不取.拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出2堆石子的数量, ...

  5. openvino program

    为了兼容 fpgaconf -b 00 -d 04 -f 1 xxx.bin 重新实现 #!/bin/bash B=${} D=${} F=${} BDF=${B##0x}:${D##0x}.${F# ...

  6. ubuntu 16.04 tip

    参考 1. 安装 python3.6 sudo add-apt-repository ppa:jonathonf/python-3.6  sudo apt-get update sudo apt-ge ...

  7. poj1985和poj1849(树的直径)

    题目传送门:poj1985 树是连通无环图,树上任意两点之间的路径是唯一的.定义树上任 意两点u, v的距离为u到v路径上边权的和.树的直径MN为树上最长路 径,即点M和N是树上距离最远的两个点. 题 ...

  8. github笔记

    git config --global user.name"liuhongli1"liuhongli@liuhongli:~/github/test$ git config --g ...

  9. 事件Event实现消费者模型

    import timeimport randomfrom multiprocessing import Process,Queue def consumer(q,name): while True: ...

  10. 获取Tomcat更详细的日志

    前言 有时候tomcat报错未详细,未能定位到原因. 解决方法: 获取更详细的日志,以便调试. 详细步骤:   获取详细的日志,方法如下: 在WEB-INF/classes目录下logging.pro ...