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

面向对象---》类 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. go语言切片切片与指针

    go语言 1.切片的定义 切片不是真正意义上的动态数组,是引用类型. var arraySlice []int

  2. php 数组数字 补零

    $hour_list = range(0,24); foreach($hour_list as $key=>$val){ $hour_list[$key] = str_pad($val, 2, ...

  3. Java Web获取Web应用根路径

    最基本的 1,request.getRealPath("/");这个方法已不推荐用 2,在Servlet 里用this.getServletContext().getRealPat ...

  4. .NET 实用扩展方法

    .NET 实用扩展方法(持续更新...) 1. 字符串转换为可空数值类型(int, long, float...类似) /// <summary> /// 将字符串转换成32位整数,转换失 ...

  5. linux基础之awk

    gawk - pattern scanning and processing language 基本用法: gawk [options] 'program' FILE... program: PATT ...

  6. bzoj2091: [Poi2010]The Minima Game DP

    2091: [Poi2010]The Minima Game DP 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2091 思路 这类问题好迷 ...

  7. LeetCode in action

    (1) Linked List: 2-add-two-numbers,2.cpp 19-remove-nth-node-from-end-of-list,TBD 21-merge-two-sorted ...

  8. Qt 从菜单栏打开文件

    Qt从菜单栏的下拉菜单选择文件 构造函数中设置打开动作信息 //打开文件 m_menu = ui.menu; // m_menu->menuAction = new QAction(QIcon( ...

  9. PHP冒泡排序-手写

    <?php $a = [1,3,5,2,9,6]; for ($i = 0 ;$i < count($a) ;$i++) { for ($j = $i + 1;$j < count( ...

  10. Docker——入门实战

    I. Docker简介Docker是一种新兴的虚拟化技术,能够一定程度上的代替传统虚拟机.不过,Docker 跟传统的虚拟化方式相比具有众多的优势.我也将Docker类比于Python虚拟环境,可以有 ...