python学习

第四天

函数是什么
    函数(function):为了解决某一问题,或者某些问题具有名称的代码集合。是一种功能、行为动作

为什么需要函数
    解决代码的重复问题

python如何定义函数
    关键字 def  # define function
    def 函数名称([参数列表]):
        # 函数体
        # 如果需要返回值,则使用return关键字返回结果
        # [return 函数返回值]


如何调用函数
    函数名称([实参列表])

函数分类:
    |-- 通过函数是否存在参数
        |-- 有参函数
        |-- 无参函数
    |-- 函数是否存在返回值
        |-- 有返回值的
        |-- 无返回值
    |-- 函数定义者的角度
        |-- 官方函数(python官方提供的各种)
        |-- 第三方函数
        |-- 自己定义的函数

def test():
    print("测试函数0")
def test(x):
    print("测试函数:",x)
def test(x,y,z):
    print(f"测试函数:{x}{y}{z}")
def add(x,y):
    return x+y


test()
test(1)
test(1,2,3)
sum = add(2+4)

自定义的函数和正常函数之间必须空两个空行,因为规范

局部变量和全局变量:
    局部变量(本地变量:local variable):指的是定义在函数内部的变量
    全局变量(global variable):直接定义在脚本中,在整体脚本中,都有效的变量

注意:python函数中全局变量不允许修改,不然会报错

如果一定要修改,要在函数中声明(global count)

函数的调用的内存分析:
    函数的调用,在内存中是压栈调用
    函数本质是对象,是存储在堆内存中的

函数的参数:
    默认值参数(default arguments):
        也就是,如果在定义函数时,其中有些参数将来调用时,绝大多数情况下,值是固定的,则
        为了调用了方便,可以设置默认值参数。
    可变参数(可赋值也可不赋值):  *xxxx  ---- 元组类型


        
    命名(关键字)参数:  **kwargs    ----- 字典类型

def info(x,**y):
    print("年龄:",x,"姓名以及联系方式:",y)


info(18,name="神奇海螺",tel="联系方式请咨询比奇堡通讯中心")

 引用传递和值传递:
    引用传递:传递时传递的是对象的地址(引用、指针),所以真正的操作是发生在堆内存
    值传递:仅仅传递值本身,传递后传给了局部变量(形参),调用完成后,局部变量则弹栈回收(pop)不会影响实参。

Python的main函数

匿名函数lambda表达式:
    1、python的函数的参数,可以是任意类型,只要是对象即可。
    2、在python,函数也是对象

匿名函数:
    没有名称的函数,被称为匿名函数!!!
    lambda表达式
    
    lambda关键字

    lambda [参数列表]: 函数体    

                                   # python的匿名函数

作业要求

作业1、将上节课的作业,统统使用函数封装一次

作业2、判断以下哪些不能作为标识符
    A、a
    B、¥a
    C、_12
    D、$a@12
    E、false
    F、False

作业3:
    输入数,判断这个数是否是质数(要求使用函数 + for循环

作业4:求50~150之间的质数是那些?

作业5:打印输出标准水仙花数,输出这些水仙花数

作业6:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
作业7:一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.
作业8:有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来

作业9:某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去
        除余数都是1,求这 个自然数.

作业10:编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和


作业11:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
    [10, 8, 5, 3, 27, 99]

作业12:求1~100之间不能被3整除的数之和

作业13:给定一个正整数N,找出1到N(含)之间所有质数的总和
作业14:计算PI(公式如下:PI=4(1-1/3+1/5-1/7+1/9-1.......)

作业结果

2

 

 

3

4

 

 

5

 

 

6

 

 

7

 

 

9

 

 

10

 

 

12

 

 

14

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值