Python——函数

1.定义函数

函数:把功能封装起来

执行顺序:逐行扫描代码

如果不主动调用函数,函数不会执行

#定义函数
def say_hello():
    print('hello1')
    print('hello2')
    print('hello3')
 
#函数的调用
say_hello()



def sum_2_sum():
    num1 = 10
    num2 = 20
    result = num1 + num2
    print('%d + %d = %d' %(num1,num2,result))
 
sum_2_sum()

2.函数的嵌套

def westos():
    print('is westos')
    def python():
        print('python')
    python()
westos()

在这里插入图片描述
3.参数

参数:形参 实参
形参:位置参数 默认参数 可变参数 关键字参数

定义函数的时候的变量 叫作形参(形参可以任意起名)

def welcome(a):
    print('hello',a)

#实参:真实的数据,调用函数时传递的参数

welcome('lily')
welcome('coco')

1)位置参数:形参和实参个数必须保持一致

def getInfo(name,age):  ##按照位置传参
    print(name,age)
 
getInfo('westos',11)
getInfo(11,'westos')
getInfo(age=11,name='westos')

2)默认参数:形参和实参可以不一致

def mypow(x,y=2):
    print(x ** y)
 
mypow(4)   #没有传参时,用默认的参数
mypow(2,3)
mypow(2,5)

在这里插入图片描述
3)可变参数:可以接收多个参数

def mysum(*a):   
    sum  = 0
    for item in a:
        sum += item
    print(sum)
 
mysum(1,2,3,4,5,6)

21

4)关键字参数

def getStuInfo(name,age,**kwargs):
    """
    **kwargs是一个字典,可以传递任意多的key-value
    :param name:
    :param age:
    :param kwargs:
    :return:
    """
    print(name,age)
    print(kwargs)
 
getStuInfo('westos','19',hobbies=['coding','devops'],gender='female',eat='apple‘

在这里插入图片描述

4.返回值

返回值:函数运算的结果,还需要进一步操作时,给一个返回值
return用来返回函数执行结果,如果没有返回值,默认为None
python可以间接返回多个值(返回一个元组)
一旦遇到return,函数执行结束,后面的代码不会执行

def mypow(x,y=2):
 
    print(x ** y,x+y)
    return x ** y,x+ y
    print('hello')     #hello将不执行
 
a=mypow(3)
print(a)

在这里插入图片描述

def mypow(x,y=2):
 
    print(x ** y,x+y)
    print('hello')
 
a=mypow(3)
print(a)

在这里插入图片描述
5.变量的作用域

1)局部变量:

在函数内部定义的变量,只在函数内部起作用,函数执行结束,变量自动删除

例子:

a = 1
print('outside:',id(a))
 
def fun():
    a = 5     #局部变量
    print(a)
    print('inside:',id(a))
 
fun()
print(a)
print(id(a))

在这里插入图片描述
2)全局变量:global

例子:

a = 1      #全局变量
print('outside:',id(a))
 
def fun():
    global a   #全局变量
    a = 5
    print('inside:',id(a))
 
fun()
print(a)
print(id(a))

6.实例

案例1:
编写一个函数cacluate, 可以接收任意多个参数,返回的是一个元组.
元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数.

def cacluate(*args):
    avg = sum(args) / len(args)
    up_avg = []
    for item in args:
        if item > avg:
            up_avg.append(item)
    return avg,up_avg
 
a = cacluate(1,2,3,4,5,6,7)
print(a,type(a))

2)

编写一个函数, 接收字符串参数, 返回一个元组,‘ehllo WROLD’
元组的第一个值为大写字母的个数, 第二个值为小写字母个数.

def str(args):
    upper=0
    lower=0
    for i in args:
        if i.isupper():
            upper+=1
        elif i.islower():
            lower+=1
        else:
            continue
    return upper,lower
s=str('ehllo WROLD')
print(s)

3)

案例3:
编写函数, 接收一个列表(包含20个1~100之间的随机整形数)和一>个整形数k, 返回一个新列表.
函数需求:
- 将列表下标k之前对应(不包含k)的元素逆序;
- 将下标k及之后的元素逆序;
[1,2,3,4,5] 2 [2,1,5,4,3]
[1,2,3,4,5,6,7,8,9] 4 [4,3,2,1,9,8,7,6,5]

import random
a=[]
for i in range(20):
    b=random.randint(1,100)
    a.append(b)
print(a)
 
def order(k,args):
    print(args[k-1::-1]+args[:k-1:-1])
 
k=int(input('请输入k值:'))
order(k,a)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Python的计算思维训练主要涉及到函数的概念。函数Python中的基本编程结构,通过函数可以将一系列操作封装起来,提高代码的复用性和可维护性。 首先,函数的定义和调用是计算思维中重要的一部分。学习者需要理解如何使用def关键字定义函数,并且学会传入参数和返回数值。这能够帮助他们将复杂的问题拆分成更小的部分,然后再分别解决。 其次,函数的参数和返回值的运用是培养计算思维的有效途径。学习者需要理解函数的参数可以是任意类型的数据,也可以是默认值,还可以是可变数量的参数。同时,他们需要掌握函数可以返回单个数值、多个数值或者其他函数的能力。 此外,函数的嵌套和递归是培养计算思维的重要方法。学习者需要了解函数可以在其内部调用其他函数,从而实现更复杂的功能。而递归则可以帮助他们理解问题的分治和循环求解策略。 最后,函数的高阶用法和闭包也是培养计算思维的关键。学习者需要明白函数可以作为参数传递给其他函数,也可以作为返回值被另一个函数使用。此外,他们还需要掌握闭包的概念和运用,以便更好地理解函数的作用域和生命周期。 通过学习和实践以上内容,学习者不仅可以掌握Python函数的用法,还可以培养出较强的计算思维能力,从而更好地应对复杂的问题和挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值