python之函数(function)
#今天来学习一下函数,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)的更多相关文章
- 【Python】解析Python中函数的基本使用
1.简介 在Python中定义函数的基本格式为: def <函数名>(参数列表): <函数语句> return <返回值> Python中的函数形式比较灵活,声明一 ...
- 关于Python的函数(Method)与方法(Function)
先上结论: 函数(function)是Python中一个可调用对象(callable), 方法(method)是一种特殊的函数. 一个可调用对象是方法和函数,和这个对象无关,仅和这个对象是否与类或实例 ...
- 『Python基础-13』函数 Function
这篇笔记记录的知识点: 函数的基本概念 自定义函数 函数的几种参数 编程的三种方式: 1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程编程,万事皆过程,def定义过 ...
- 分分钟钟学会Python - 函数(function)
函数(function) 1 基本结构 本质:将多行代码拿到别处并起个名字,以后通过名字就可以找到这行代码并执行 应用场景: 代码重复执行 代码量很多超过一屏,可以选择通过函数进行代码的分割 写代码方 ...
- python 函数function
函数 当代码出现有规律的重复的时候,只写一次函数实现多次使用(调用) 可使用的函数: 自定义函数 内置函数:文档 https://docs.python.org/3/library/function ...
- Python的程序结构[4] -> 函数/Function[0] -> 函数与方法的区别
函数与方法的区别 / Distinction of Function and Method 关于函数与方法的区别,可根据两者的定义看出, 函数function -- A series of state ...
- python的函数
函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...
- Python基础-函数篇
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 函数与函数式编程 1.面向对象: 华山派-- ...
- python 返回函数
返回函数 Python的函数不但可以返回int.str.list.dict等数据类型,还可以返回函数! 例如,定义一个函数 f(),我们让它返回一个函数 g,可以这样写: def f(): print ...
- Python之函数进阶
本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函 ...
随机推荐
- 1036 Boys vs Girls (25 分)
1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade of ...
- Notepad++ 删除空白行的方法(转)
Notepad++ 是我特别喜欢的一款编程工具.在安装后就可以轻松使用了.Notepad++ 上提供了很多方便的插件以实现更多的扩展,当然自身已经比较强大好用了.如果你遇到文本中间有大量的空白行的话, ...
- 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 ...
- bitmap运算
概述 所谓bitmap就是用一个bit位来标记某个元素对应的value,而key即是这个元素.由于采用bit为单位来存储数据,因此在可以大大的节省存储空间 算法思想 32位机器上,一个整形,比 ...
- 经典算法 KMP算法详解
内容: 1.问题引入 2.暴力求解方法 3.优化方法 4.KMP算法 1.问题引入 原始问题: 对于一个字符串 str (长度为N)和另一个字符串 match (长度为M),如果 match 是 st ...
- mybatis匹配字符串的坑
where语句中我们经常会做一些字符串的判断,当传入的字符串参数为纯数字时,在mybatis的条件语句test里匹配全数字字符串需要注意会有如下现象: 所以里面的字符串需要加单引号,mybatis是匹 ...
- Laravel 5.4: 特殊字段太长报错
laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持.如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情. 当你试着在一些MariaDB或者一些 ...
- win10下装的ubuntu14.04双系统,ubuntu系统访问win10磁盘问题
参考:https://blog.csdn.net/u010426270/article/details/52420231 ubuntu下 解决方法: 1. 在终端输入如下命令,查看分区挂载情况 sud ...
- springboot web项目的单元测试
不废话,直接上代码. //// SpringJUnit支持,由此引入Spring-Test框架支持! @RunWith(SpringJUnit4ClassRunner.class) //// 指定我们 ...
- Spring boot&Mybatis 启动报错 Failed to auto-configure a DataSource
*************************** APPLICATION FAILED TO START *************************** Description: Fai ...