zoukankan      html  css  js  c++  java
  • python 初始函数

    文件的'改'

    with open('1234567','r',encoding='utf-8') as f1,open('1234567.bak','w',encoding='utf-8') as f2:
        for line in f1:
            if '未知' in line:
                line = line.replace('未知','')
            f2.write(line)
    
    import os
    os.remove('1234567')
    os.rename('1234567.bak','1234567')

    python中文件并没有意义上的改,这段代码的本质是读取文件到pycharm中,更改内容并添加到一个新建的文件中,然后删除原文件

    再将新建的文件命名成原文件

    初始函数

    定义函数 函数的调用

    s = '陈帅是陈明的哥'
    def my_len():
        i = 0
        for a in s:
            i += 1
        print(i)
    f = my_len()
    print(f)

    7
    None

    函数定义了之后可以在任何需要它的地方调用

    但是不能改变,只能做到函数内代码的作用

    没有返回值,只是单纯的打印

    返回值

    return xxx                   求返回值,后面加上要求返回值的变量的变量名

    s = '陈帅是陈明的哥'
    def my_len():
        i = 0
        for a in s:
            i += 1
        print(i)
        return i
    f = my_len()
    print(f)

    7
    7

    返回值的三种情况

    没有返回值的,默认返回None

    没有返回值

    不写return                 没有要求返回值

    s = '陈帅是陈明的哥'
    def my_len():
        i = 0
        for a in s:
            i += 1
        print(i)
    f = my_len()
    print(f)

    7
    None

    只写return                 没有要求返回什么的返回值

    s = '陈帅是陈明的哥'
    def my_len():
        i = 0
        for a in s:
            i += 1
        print(i)
        return
    f = my_len()
    print(f)

    7
    None

    return None               返回值空

    s = '陈帅是陈明的哥'
    def my_len():
        i = 0
        for a in s:
            i += 1
        print(i)
        return None
    f = my_len()
    print(f)

    7
    None

    return是结束一个函数,执行到return后面的代码便不执行了,跳出该函数

    返回一个值

    可以返回任何的数据类型

    只要返回,就可以接受到

    如果在一个程序中有多个return,只执行第一个

    def my_len():
        return 1
        return 2
    f = my_len()
    print(f)

    1

    返回多个值

    多个返回值用多个变量接收,有多少返回值就要有多少变量

    用一个变量接收多个返回值,得到的是一个元组

    def my_len():
        return 1,2,[1,2,3,],('k','v')
        return 1,2,3,4
    f = my_len()
    print(f)

    (1, 2, [1, 2, 3], ('k', 'v'))

    参数

    没有参数

    定义函数和调用函数时括号里都不写内容

    有一个参数

    传什么就是什么

    有多个参数

    位置参数

    站在实参的角度上:

    按照位置传参

    按照关键字传参

    可以混用:但必须先按照位置传参,再按照关键字传参,不能给同一个变量传多个值

    站在形参的角度上:

    位置参数:必须传,且有几个参数传几个值

    默认参数:可以不传,如果不传就是用默认参数,传了参数就用传来的参数

    只有调用函数的时候

    按照位置传:直接写参数的值

    按照关键字:关键字=值

    定义函数的时候

    位置参数:直接定义参数

    默认参数:关键字参数:参数名='默认的值'

    动态参数:可以接受任意多个参数

      *args :可以传任意参数,参数名前面加*,args是个约定俗成的参数名

      接收的是按照位置传参的值,组成一个元组

      **kwargs:用来接受不知道多少个关键字参数(其它大约同上)

      接收的是按照关键字传参的值,组织成一个字典

    顺序:位置参数,*args,默认参数,**kwargs

    动态参数的另一种传参方式:

    站在一个实参的角度上,给一个序列加上*,就是将这个序列按照顺序拆分

    站在形参的角度上,给变量加上*,就是组合所有传来的值

    函数的注释

    在定义函数的下一行

    这个函数实现了什么功能

    参数1说明

    参数2说明

    返回值说明

     

  • 相关阅读:
    SilverLight之路(四)
    SilverLight之路(十一)
    SilverLight之路(五)
    SilverLight之路(九)
    SilverLight之路(八)
    设计silverlight的MediaPlay控件silverlight(银光)学习(3)
    自学MVC(三):郁闷的表单验证2009年05月04日
    silverlight的Button控件补完设计silverlight(银光)学习(2)
    拖动MediaPlay控件的滚动条来控制媒体播放silverlight(银光)学习(4)
    自学MVC(四):注册页面的完成2009年05月06日
  • 原文地址:https://www.cnblogs.com/GrandDarkness/p/8118332.html
Copyright © 2011-2022 走看看