#今天来学习一下函数,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. 1036 Boys vs Girls (25 分)

    1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade of ...

  2. Notepad++ 删除空白行的方法(转)

    Notepad++ 是我特别喜欢的一款编程工具.在安装后就可以轻松使用了.Notepad++ 上提供了很多方便的插件以实现更多的扩展,当然自身已经比较强大好用了.如果你遇到文本中间有大量的空白行的话, ...

  3. CentOS 7.3 CDH 5.10.0 Druid0.12.4安装记录

    CentOS 7.3 CDH 5.10.0安装记录 0. 集群规划192.167.1.247 realtime247 realtime+hadoopdata192.167.1.248 broker24 ...

  4. bitmap运算

    概述 所谓bitmap就是用一个bit位来标记某个元素对应的value,而key即是这个元素.由于采用bit为单位来存储数据,因此在可以大大的节省存储空间     算法思想 32位机器上,一个整形,比 ...

  5. 经典算法 KMP算法详解

    内容: 1.问题引入 2.暴力求解方法 3.优化方法 4.KMP算法 1.问题引入 原始问题: 对于一个字符串 str (长度为N)和另一个字符串 match (长度为M),如果 match 是 st ...

  6. mybatis匹配字符串的坑

    where语句中我们经常会做一些字符串的判断,当传入的字符串参数为纯数字时,在mybatis的条件语句test里匹配全数字字符串需要注意会有如下现象: 所以里面的字符串需要加单引号,mybatis是匹 ...

  7. Laravel 5.4: 特殊字段太长报错

    laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持.如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情. 当你试着在一些MariaDB或者一些 ...

  8. win10下装的ubuntu14.04双系统,ubuntu系统访问win10磁盘问题

    参考:https://blog.csdn.net/u010426270/article/details/52420231 ubuntu下 解决方法: 1. 在终端输入如下命令,查看分区挂载情况 sud ...

  9. springboot web项目的单元测试

    不废话,直接上代码. //// SpringJUnit支持,由此引入Spring-Test框架支持! @RunWith(SpringJUnit4ClassRunner.class) //// 指定我们 ...

  10. Spring boot&Mybatis 启动报错 Failed to auto-configure a DataSource

    *************************** APPLICATION FAILED TO START *************************** Description: Fai ...