function在python_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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值