python函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
你已经知道Python提供了许多内建函数,比如print()。
但你也可以自己创建函数,这被叫做用户自定义函数。
1.函数的定义
def hello():
    print('hello')
hello()

#嵌套
def westos():
    print('This a',end=' ')
    def python():
        print('python file')
    python()
westos()
def wecome(name):
    print('hello',name)
wecome('tom')
wecome('lala')

2.函数的参数
# 位置参数:形参和实参个数必须保持一致
# 按照位置传递参数
def getInfo(name, age):
    print(name, age)
    
getInfo('westos', 11)
getInfo(age=11, name='westos')

# 默认参数:形参和实参可以不一致
def mypow(x, y=2):
    print(x ** y)

mypow(4)
mypow(2, 3)


# 可变参数
def mysum(*args):
    sum = 0
    for item in args:
        sum += item
    print(sum)

mysum(1, 2, 3, 4)


# 关键字
def getStuInfo(name, age, **kwargs):
    print(name, age)
    print(kwargs)

getStuInfo('wetos', 19, hon=['sd', 'dsa'], hon1=['fa', 'dasd'])

 

3.函数的返回值
"""
return 用来返回函数执行的结果,如果没有返回值,默认返回None
函数一旦遇到return,就执行结束,后面的代码不会执行
返回多个值,通过元组返回
"""


def mypow(x, y=2):
    return x ** y, x + y
    print('lalalallalalla')

a = mypow(3)
print(a)
print(mypow(4))


a = 1
print('outside', id(a))

def fun():
    global a  # 声明a为全局变量
    a = 5
    print('inside:', id(a))

fun()
print(a)
print(id(a))

实列1

import random

"""
案例一
编写一个函数用于接收多个数
返回第一个值为平均数,第二个为大于平均数的所有数
"""


def caclute(*args):
    args_sum = sum(args) / len(args)
    args_Li = []
    for num in args:
        if num > args_sum:
            args_Li.append(num)
    return args_sum, args_Li


print(caclute(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))

实列2

"""
案例二
编写一个函数,接收字符串,返回一个元组
第一个为大写字母的个数,第二个为小写字母的个数
"""
def str_Info(Inputstr):
    upperNum = 0
    lowerNum = 0
    for s in Inputstr:
        if s.isupper():
            upperNum += 1
        elif s.islower():
            lowerNum += 1
    return upperNum, lowerNum


print('大写个数:%d 小写个数:%d' % str_Info(input('Input:')))

实列3

 

"""
案例3
接收一个列表(包含30个整数)和一个整形数k,返回一个新列表
函数需求
    1.将列表下标K子前对应(不包含K)的元素逆序
    2.将下标K及之后的元素逆序
[1,2,3,4,5] 2 ---->  [2,1,5,4,3]    
"""
import random

# def fun(alist,k):
#     if k<0 or k>len(alist):
#         return 'error key'
#     newL1 = alist[:k]
#     newL2 = newL1[::-1]
#     newL3 = alist[k:]
#     newL4 = newL3[::-1]
#     return newL2 + newL4
#
# list = []
# for i in range(30):
#     num = random.randint(1,100)
#     if num not in list:
#         list.append(num)
# print(list)
# a = fun(list,4)
# print(a)

def fun(aList,k):
    if k <0 or k > len(aList):
        return 'error key'
    return aList[:k][::-1] + aList[k:][::-1]

print(fun([1,2,3,4,5,65],2))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值