python函数

函数定义和调用

下面的代码是简单的函数定义例子,分别是无参数函数和有参数函数:

def print_hello():
    print("Hello world!")
	
def print_string(string):
    print(string)
	
print_hello()
print_string("test")

输出:
Hello world!
test

多个参数的函数可以按照顺序设置参数也可以用参数的关键字进行调用:

def print_name(first_name, last_name):
    print(first_name + last_name)
	
print_name("黄", "靠谱")
print_name(last_name="靠谱", first_name="黄")

输出:
黄靠谱
黄靠谱

函数支持设置参数默认值,需要注意默认参数必须在所有参数的后面:

# 不能定义成 def print_info(age = 18, name)
def print_info(name, age = 18):
    print(name + " " + str(age))
	
print_info("黄靠谱")

输出:
黄靠谱 18

函数返回值

函数返回值直接在函数中return即可,可以返回任何类型的值,包括列表、字典等。

def get_format(first_name, last_name):
    return first_name + "-" + last_name
	
print(get_format("黄", "靠谱"))

输出:
黄-靠谱

函数参数为列表

当函数参数为列表时,在函数中修改列表,列表实参也会改变。

def change_list(alist):
    for i in range(len(alist)):
        print(alist[i])
        alist[i] = alist[i] * 2
	

numbers = [1, 2, 3, 4]
change_list(numbers)
print(numbers)

输出:
1
2
3
4
[2, 4, 6, 8]

如果不希望函数对列表进行修改,可以通过传入列表的复制解决:

def change_list(alist):
    for i in range(len(alist)):
        print(alist[i])
        alist[i] = alist[i] * 2
	

numbers = [1, 2, 3, 4]
change_list(numbers[:])   // 传入列表的复制
print(numbers)

输出:
1
2
3
4
[1, 2, 3, 4]

字典和列表一致:

def change_dic(dic):
    for key,value in dic.items():
        print(key + str(value))
    if (None != dic.get("a")):
        dic["a"] = 99
            
	

ages = {"a" : 1, "b" : 2, "c" : 3}
change_dic(ages)
print(ages)

输出:
a1
b2
c3
{'a': 99, 'b': 2, 'c': 3}

参数数量可变函数

python支持传入可变数量的参数,一下为可变参数的传递方法:

def print_info(*infos):
    print(infos)
	
print_info('a')
print_info('a', 'b', 'c')

输出:
('a',)
('a', 'b', 'c')

同时,也可以对可变参数做遍历:

def print_info(*infos):
    for info in infos:
        print(info)

print_info('a')
print_info('a', 'b', 'c')

输出:
a
a
b
c

可变参数也可以和普通参数一起使用:

def print_info(count, *infos):
    print(count)
    print(infos)
	
print_info(1, 'a')
print_info(3, 'a', 'b', 'c')

输出:
1
('a',)
3
('a', 'b', 'c')

关键字实参函数

python支持用户自定义函数参数的关键字和值:

def print_info(count, **infos):
    print(count)
    print(infos)
	

print_info(2, first='a', second='b')

输出:
2
{'first': 'a', 'second': 'b'}

通过输出可以发现,实际上将自定义的参数转变成了字典形式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值