#今天来学习一下函数,function
# 定义一个函数的时候,函数不会被执行,只有调用函数,函数才会执行
#
# 定义函数
# # 1、def是创建函数的关键字,创建函数
# # 2、函数名
# # 3、()
# # 4、函数体
# # 5、返回值
#
#
# try:
# 扑捉这段代码的执行
# except:
# 如果失败,则执行这里的语句
#
# else:
# 如果成功,则执行这里的语句
#
# 执行函数
#
# 函数名()
#
# 类似这样定义一个函数
#
#
# def  取快递():
#
#
# xxxxx
# xxxxx
# xxxxx #函数遇到return后就不会继续执行后面的语句 # def my_first_function ():
# username = 'Bob'
# _username = input('Input name:')
# if _username == username:
# return "Welcome login"
# else:
# return "Username is Invalid"
#
# result = my_first_function()
# print(result) #如果在函数中没有定义任何一个return,则python会给一个默认的返回值,none
# def f2():
# print("hi,everybody")
# ret = f2()
# print(ret) #学习一下形参和实参,这里要注意,形参是定义函数的时候定义的,实参是调用函数的传给函数的,实参和形参要一一对应,且顺序要一致,第一个实参对应第一个形参,第二个
#实参对应第二个形参,以此类推
# def send(address,content,name): #这里是形参
# print('send to',address,'成功','内容是',content,'名字是',name)
# return True
# while True:
# em = input("input address:")
# result = send(em,'SB','Bob') #这里是实参
# if result == True:
# print('发送成功')
# else:
# print('发送失败') #函数的默认参数,如果形参有三个参数,而其中有一个是默认参数,则实参只需要传2个或者3个都可以,如果是2个,则第三个参数用默认值来显示,如果传三个参数,则第三个参数
#用传递的参数代替,这里有个重点,就是如果要设置默认参数,则必须要放在形参的最后面,可以有多个默认的形参,但是都要放在最后面 #这里是定义了三个参数,其中name这个参数是默认参数,有默认值,但是实参传了三个参数,所以就没有使用默认值
# def send(address,content,name='Bob'):
# print('send to',address,'成功','内容是',content,'名字是',name)
# return True
# while True:
# em = input("input address:")
# result = send(em,'SB','ale')
# if result == True:
# print('发送成功')
# else:
# print('发送失败') #这里是定义了三个参数,其中name这个参数是默认参数,有默认值,但是实参传了两个个参数,所以name就使用了默认参数
# def send(address, content, name='Bob'):
# print('send to', address, '成功', '内容是', content, '名字是', name)
# return True
# while True:
# em = input("input address:")
# result = send(em, 'SB')
# if result == True:
# print('发送成功')
# else:
# print('发送失败') #指定参数,前面是默认实参和形参的是按照顺序一一对应的,下面可以指定哪一个形参对应哪个实参,不需要按照顺序一一对应
# def send(address, content):
# print('send to', address, '成功', '内容是', content)
# return True
# while True:
# em = input("input address:")
# result = send(address='55666@126.con',content=em)
# if result == True:
# print('发送成功')
# else:
# print('发送失败') # *号,表示可以接受n个实参,然后放在把所有的实参放到一个叫args的tuple中
# def f1(*args):
# print(args)
# print(type(args))
# f1(11,22,33,'aaad','bbbb') #这里也可以传一个列表进去,但是把这个列表当做元组的一个元素 # list1 = [11,22,33,44]
# list2 = [66,77,8,8]
# def f1(*args):
# print(args)
# print(type(args))
# f1(list1,list2) #如果传递的实参的前面有个*号,我们来看下效果,不论传递的是list和str,相当于一个for循环,把list中或者字符串的每个元素当做形参的一个元素
# name = '1234'
# list1 = [11,22,33,44]
# def f1(*args):
# print(args)
# f1(list1)
# f1(*list1)
# f1(*'abcd')
# f1(*name) #前面的形参是有一个*号,其实还可以形参前也可以有两个*号,那么在调用函数的时候传递实参的时候要用dict的方式传递实参,不然会报错,这里要注意下传递形式,传参的使用要用
#=号
# def f1(**args):
# print(args)
# print(type(args))
#
# f1(n1='cccc',n2='dddd') #直接传递一个dict进去,如果用这样的方式,是把整个dict当做一个元素
# dict1 = {'name':'Bob','age':12,'job':'it'}
# def f1(**args):
# print(args)
# print(type(args))
#
# f1(k=dict1) #如果实参中有两个*号,则把dict中的每个元素当做一个元素传递给形参
# dict1 = {'name':'Bob','age':12,'job':'it'}
# def f1(**args):
# print(args)
# print(type(args))
#
# f1(**dict1) #总结下函数传参
# 1、普通参数,严格按照输入的顺序,将实参和形参一一对应
# 2、默认参数,必须放在形参的最后
# 3、指定参数,将实际参数赋值给形参
# 4、动态参数
# 4-1、* 默认将传入的参数,全部放到列表中,如果传实参的加一个*,会对list或者字符串做一个for循环,把把实参的每一个元素当做一个元素传递给形参
# 4-2、**默认将传入的参数,全部放到字典中,如果传实参的加一个**,会对dict做一个for循环,把把实参的每一个元素当做一个元素传递给形参
# 5、万能参数,就必须下面的列子,会自动把list或者str的参数传递给args,把dict传递给kwargs,且在写形参的时候,一定要把一个*args放在前面,**kwargs
# 放在后面 # def f1(*args,**kwargs):
# print(args)
# print(kwargs)
#
#
# f1(11,22,33,44,k1='bob',k2='ale') #其中python中的另外一个格式化输出就用到万能传参的方法
# def format(self, *args, **kwargs): # known special case of str.format # s = 'i am {0},age is {1}' .format('bob',34)
# print(s)
#
# s = 'i am {0},age is {1}' .format(*['bob',34])
# print(s) # s = 'i am {name},age is {age}' .format(name='Bob',age='23')
# print(s) # dict = {'name':'Bob','age':12}
# s = 'i am {name},age is {age}' .format(**dict)
# print(s)

python之函数(function)的更多相关文章

  1. 【Python】解析Python中函数的基本使用

    1.简介 在Python中定义函数的基本格式为: def <函数名>(参数列表): <函数语句> return <返回值> Python中的函数形式比较灵活,声明一 ...

  2. 关于Python的函数(Method)与方法(Function)

    先上结论: 函数(function)是Python中一个可调用对象(callable), 方法(method)是一种特殊的函数. 一个可调用对象是方法和函数,和这个对象无关,仅和这个对象是否与类或实例 ...

  3. 『Python基础-13』函数 Function

    这篇笔记记录的知识点: 函数的基本概念 自定义函数 函数的几种参数 编程的三种方式: 1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程编程,万事皆过程,def定义过 ...

  4. 分分钟钟学会Python - 函数(function)

    函数(function) 1 基本结构 本质:将多行代码拿到别处并起个名字,以后通过名字就可以找到这行代码并执行 应用场景: 代码重复执行 代码量很多超过一屏,可以选择通过函数进行代码的分割 写代码方 ...

  5. python 函数function

    函数 当代码出现有规律的重复的时候,只写一次函数实现多次使用(调用) 可使用的函数: 自定义函数 内置函数:文档  https://docs.python.org/3/library/function ...

  6. Python的程序结构[4] -> 函数/Function[0] -> 函数与方法的区别

    函数与方法的区别 / Distinction of Function and Method 关于函数与方法的区别,可根据两者的定义看出, 函数function -- A series of state ...

  7. python的函数

    函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...

  8. Python基础-函数篇

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派-- ...

  9. python 返回函数

    返回函数 Python的函数不但可以返回int.str.list.dict等数据类型,还可以返回函数! 例如,定义一个函数 f(),我们让它返回一个函数 g,可以这样写: def f(): print ...

  10. Python之函数进阶

    本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函 ...

随机推荐

  1. Windows7无法访问共享文件夹(0x800704cf,0x80070035)解决方法

    Windows7系统突然无法访问Linux的samba服务器,出现0x800704cf或者0x80070035错误,也不能访问其他windows机器的共享文件夹,解决方案如下两张图,配置与下面两张图为 ...

  2. 使用Golang进行性能分析(Profiling)

    转自:http://www.cppblog.com/sunicdavy/archive/2015/04/11/210308.html 本文介绍游戏服务器的性能分析, web服务器性能分析不在本文分析范 ...

  3. iOS 基础

    layoutSubviews: layoutSubviews是对sbuviews的重新布局,比如,我们想更新子视图的位置,可以通过调用layoutSubviews方法(不能直接调用) layoutSu ...

  4. nginx经过多层代理后获取真实来源ip

    nginx取 $remote_addr 当做真实ip,而事实上,$http_X_Forwarded_For 才是用户真实ip,$remote_addr只是代理上一层的地址 解决方案: 在 http 模 ...

  5. UML 中关系图的解说

    最近在教软件工程项目实践,就又仔细了解了下UML中各种关系的意义,虽然有点简单,但是有些概念还是经常被混淆的,写在这里是为了加深印象. 关系列表: 继承关系(Generalization): 实现关系 ...

  6. uva-539-枚举

    题意: 给你一个无向图,找最长路. 俩份代码,感觉map[][]简单易懂啊 #include<stdio.h> #include<iostream> #include<s ...

  7. react部署之页面空白

    react部署之页面空白 问题:create-react-app build打包后,页面出现空白. 可能一: 控制台报错,js等文件找不到(404) 文件路径问题,只需修改package.json文件 ...

  8. chrome浏览器控制台 console不打印信息问题解决办法。

    转自:https://blog.csdn.net/wang17866603359/article/details/79083776 最近换了安装chrome,想按F12调试下代码,发现控制台什么信息都 ...

  9. Java中3种代理总结(示例代码见之前文章)

    1.JDK静态代理 业务接口 接口的实现类 代理类,实现接口,并扩展实现类的功能 ### 2.JDK动态代理 业务接口 实现了业务接口的业务类 实现了InvocationHandler接口的handl ...

  10. 脚本中 %~dp0

    cmd窗口中 for /? 查询参数含义 %~dp0, 将参数转换为磁盘路径+名字 例: 脚本中一行 %~dp0abc.exe (abc.exe位置c:\test\abc.exe) 展开后则为 c:\ ...