Python笔记之-函数基础

函数基础
----------------------------------------------------------------------------------------------------------------
1.函数的定义

语法:
def 函数名() :
    代码块
# 函数只封装代码,不主动调用不会输出

2.函数的文档注释
在函数体的下方用""" """的方式注释,pycharm中使用ctrl+Q 弹出窗口可以查看注释,如下所示

3.函数的参数

def sum_num(sum1,sum2) :

4.实参  形参
定义函数的参数叫形参
调用函数的参数叫实参

def sum_num(sum1, sum2):  # 此处的sum1,sum2就是形参
    """ 对两个数字的求和"""
    result = sum1 + sum2
    print("%d+%d=%d" % (sum1, sum2, result))  # 此处的sum1,sum2就是实参
    return result

5.函数的返回值 return
让函数调用的一方知道返回值

def sum_num1(sum1, sum2):
    """ 对两个数字的求和"""
    result = sum1 + sum2
    return result  # 返回result,以便于在下方输出


resilt = sum_num1(10, 3000)
print('输出结果为%d' % resilt)

6.函数调用函数

def print_a():
    print('a' * 50)


def print_b():
    print('b' * 50)
    print_a()  # 嵌套a函数
    print('c' * 50)


print_b()

7.模块名不能以数字和关键字开头的

文件study08_test.py

# 文件名定义为study08_test.py
# 打印横线
def print_u(sum, count):
    print(sum * count)


def print_uu(sum, count):
    num = 0
    while num < 5:
        print_u(sum, count)
        num += 1


name = 'asdsa'

 引入文件study08_test.py中的模块

import study08_test   # 引入模块

study08_test.print_uu('x', 10)
print(study08_test.name)

 如果文件名以数字和关键字开头,则会出现引入不了(不能正常调用)的问题

8.pyc文件
py是python文件 pyc是 python complied 编译过的python文件

----------------------------------------------------------------------------------------------------------------
函数进阶
1.函数参数和返回值的作用
参数 在函数体内暂时无法确定变量值的时候使用
返回值  在需要向函数体外部报告执行结果的时候使用

2.返回值进阶
多个返回值可以返回一个元组

# 返回值练习
def test1():
    print('start')
    name = 'yl'
    age = '18'
    print('end')
    return (name, age)
    # 可以简化为 return name, age


result = test1()
print(result)
# 返回值练习2  在需要对返回结果单独处理时
def test2():
    print('start')
    name = 'yl'
    age = '18'
    print('end')
    return name, age


name, age = test2()  # test1是一个元组,把第一个传递给name 第二个传递给age
print(name)
print(age)

3.变量交换
 

def test1():
    a = 1
    b = 2

    c = a
    a = b
    b = c

    print(a)
    print(b)
def test2():
    a = 1
    b = 2

    a = a + b
    b = a - b
    a = a - b

    print(a)
    print(b)

 # 在python中推荐此交换方式

def test3():  
    a = 1
    b = 2

    # a,b =(b,a)
    a, b = b, a
    print(a)
    print(b)

 

4.对参数赋值的时候,只会影响函数内部调用参数的值,不会影响全局变量的值
注意:在函数体内部使用方法对可变参数进行操作时,可以修改全局变量的值
在操作可变类型参数时 +=运算符相当于append方法, 意味着+=可以修改全局变量的值

# 不可变(不可变参数类型)
def test1(a):
    a = 1
    print(a)


a = 2
test1(a)
print(a)

 

# 不可变(可变参数类型)
def test2(a_list):
    a = [1, 2, 3]
    print(a)


glo_list = [4, 5, 6]
test2(glo_list)
print(glo_list)
# 可变(可变参数类型) 在使用方法对可变参数进行操作时
def test3(a_list):
    a_list.append(4)
    print(a_list)


glo_list2 = [1, 2, 3]
test3(glo_list2)
print(glo_list2)

 

5.缺省参数
例如 list.sort()  默认使用正序

# 缺省参数练习
def test1():
    test_list = [1, -1, 3, 0]
    # test_list.sort()  # 默认使用正序
    test_list.sort(reverse=True)  # 使用倒序
    print(test_list)


def test2(name, sex=True):  # 定义性别默认是ture
    sex_man = '男生'
    if not sex:
        sex_man = '女生'
    print('%s是%s' % (name, sex_man))


test1()
test2('小明')

6.缺省参数的定义
注意: 缺省参数放在多个参数的末尾

7.多值参数

参数
*参数  (代表可以传递元组类型参数)
**参数  (代表字典)

# 多值参数
def test3(num, *list, **dic):
    print(num)
    print(list)
    print(dic)


test3(1, 2, 3, 4, 5, 6, name='yl', age=18)

 # 使用多值参数进行数字累加

# 使用多值参数进行数字累加
def acc(*args):
    sum = 0
    for x in args:
        sum += x
    return sum


result = acc(1, 2, 3)
print(result)

 

 # 多值参数的拆包

# 多值参数的拆包
def test4(*args, **dic):
    print(args, dic)


num_list = [1, 2, 3]
dic_list = {'name': 'yl', 'sex': '18'}

test4(num_list, dic_list)  # 默认全部放到args
test4(*num_list, **dic_list)

8.元组和字典的拆包
在参数调用前加 * 或者 **的方式来拆包

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值