1.函数基础

1. 什么是函数?

f(x) = x + 1
y = x + 1
函数是对功能或者动作的封装

函数名

    尽量不要用重复的名字

     变量的命名规范,以数字,字母,下划线,数字不能开头

函数参数

     def 语句这里定义的是语法

     class 定义的是一个类

2. 函数的语法和定义

这里的函数名的命名规则和使⽤和变量基本一样

def 函数名():

函数体: 就是函数被执行之后要执行的代码 

函数的调用: 使用函数名可以调用函数,

函数名(), 这个时候函数的函数体会被执行

def yue():
    print("拿出手机")
    print("看看电影")
    print("约约妹子")
    print("没有时间吃饭")
    return "小姐姐","大妈","流浪" #返回元组('小姐姐', '大妈', '流浪')
ret =yue()
print(ret)
print("上班")

3. 关于函数的返回值

return : 返回函数内部处理完成后的数据对象
1. 当程序没写过return, 不返回任何结果. 如果你非要接收. 接受到的是None
2. 当函数写return 值, 有一个返回值.
3. 当函数写了return 值1, 值2, 值3.... 返回多个结果. 多个结果打包成元组
4. 当程序执行到return, 函数结束执行

def func():
    a = int(input("请输入第一个数"))
    b = int(input("请输入第二个数"))
    c = a if a > b else b #c装的是a,b中大的数 三目运算
    return c
ret = func()
print(ret)

4. 函数的参数(部分)

小括号是什么, 小括号表示调用, 传参
1. 什么是参数: 参数是给函数传递的信息

形参

定义函数后面括号里缩写的内容,形式参数,

也叫形参实参呢是在函数实际调用的时候传入的

形参名和实参名变量名可以传递不一致的

在函数声明的位置写的变量
1. 位置参数
2. 默认值
3. 动态传参 *, **

实参

在函数调用的时候给函数传递的具体的值
1. 位置参数
2. 关键字参数
3. 混合: 位置, 关键字

传参

把实参给形参的过程

def yue(tools):  # 形参
    print("拿出手机")
    print("打开%s" % tools)
    print("找到一个心仪的小姐姐")
    print("没有时间啊")

yue("微信")  # 实参
yue("QQ")  # 实参
yue("陌陌")  # 实参
* 必备参数:
    > 在我们传递函数调用时的实参时,一定要和形参定义的顺序及个数一一对应
    > myadd() missing 1 required positional argument: 'b'
* 命名传参:
    > 显示的给形参赋值,那么可以打乱顺序,但是个数要注意
* 缺省参数:
    > 缺省参数他的定义顺序是**从右向左**
    > 实参的默认接受顺序是**从左向右**,如果缺省参数之后还有一个需要传递值的形参,那么可能因为缺省参数已经有值了,并且被覆盖了新的实参,而导致最后面这些形参没有默认值了,而报错
    > 计算机不会做选择,二异性错误 -> SyntaxError
* 不定长参数:
    * \*args: 来几个接收几个,并且在函数内部保存成一个元组
        > 在使用的时候一定在是函数内部使用args,不加\*号的变量
            **普通赋值\* 返回的是一个列表**
            **函数内部的形参 \* 返回的是一个元组**
        > 不能接收键值对的形参,只能接收普通的实参
    * \*\*kwargs: 来几个接受几个,但是接收的实参是有规定的,必须是命名传参
        > 必须键值对
        > 接收到的不定长键值对实参,保存成了字典

混合传参

def chi(zhushi,fushi,tang,tiandian):
    print("主食:%s" %zhushi)
    print("副食:%s" %fushi)
    print("汤:%s" %tang)
    print("甜点:%s" %tiandian)

chi(tiandian="哈根达斯",tang="酸辣汤","大米饭","锅包肉") #SyntaxError: positional argument follows keyword argument
chi("大米饭","火锅","胡辣汤","哈根达斯")
chi("大米饭","锅包肉",tiandian="哈根达斯",tang="酸辣汤")
 文件操作
        f = open(文件路径, mode="模式", encoding="编码")
        f: 文件句柄
        文件的路径:
            相对路径
                相对于当前程序所在的文件夹
                ../ 上一层文件夹
                文件夹/  进入文件夹
            绝对路径
                从磁盘根目录寻找
        模式:
            r
                f.read() 读取文件中全部内容
                f.read(n) 读取n个字符
                f.readline() 读取一行
                f.readlines() 读取全部, 返回列表

                for line in f:
                    每次读取一行内容. 读完为止
            w
                f.write() 写
            a
            r+
            w+
            a+
            处理非文本文件 bytes
            rb
            wb
            ab

        光标 (字节)
            seek(0) 移动到开头
            seek(0,2)  移动到末尾
            tell()  返回光标的位置

            truncate(can)
                1. 如果给了参数, 从头截取到参数位置
                2. 如果不给参数, 从头截取到光标

        文件的修改
        import os

        with open("原文件", mode="r", encoding="utf-8") as f1, \
             open("文件_副本" mode="w", encoding="utf-8") as f2:
             for line in f1:
                # 修改

                f2.write(line)

        os.remove("原文件")
        os.rename("文件_副本", "原文件")


二. 作业
三. 今日主要内容(重点)
    1. 什么是函数?
        f(x) = x + 1
        y = x + 1
        函数是对功能或者动作的封装
    2. 函数的语法和定义
        def 函数名():
            函数体
        调用:
            函数名()
    3. 关于函数的返回值
        return : 返回
        1. 当程序没写过return, 不返回任何结果. 如果你非要接收. 接受到的是None
        2. 当函数写return 值, 有一个返回值.
        3. 当函数写了return 值1, 值2, 值3....  返回多个结果. 多个结果打包成元组
        4. 当程序执行到return, 函数结束执行

    4. 函数的参数(部分)
        小括号是什么, 小括号表示调用, 传参
        1. 什么是参数: 参数是给函数传递的信息
            形参: 在函数声明的位置写的变量
                1. 位置参数
                2. 默认值
                3. 动态传参(明天)  *, **
            实参: 在函数调用的时候给函数传递的具体的值
                1. 位置参数
                2. 关键字参数
                3. 混合: 位置, 关键字
            传参: 把实参给形参的过程
大概内容

 

posted @ 2019-02-24 14:24  等待の喵  阅读(329)  评论(0编辑  收藏  举报