• python大法好——修改文件、函数


    1.修改文件

    补充上次没洗完的:

    想要修改某个文件里一块地方,可以使用seek函数找到位置write函数修改。

    是不是觉得这很简单?

    但是如果你这样操作很可能会出现乱码。

    因为由于字节数的不同,编码的不同,你把你写的东西直接添加进去对原来的位置不是往后移,而是在原来的位置上直接覆盖,所以可能会出现乱码。

    但是为什么word、wps可以直接修改文件?

    wps、word会把文件从内存中全部加载到硬盘上,而不是在内存中修改,你有可能会发现当我们打开一个很大的文件时wps.word打开都很慢,因为把文件从内存中加载到硬盘里需要时间,文件越大需要的时间越多!

    2.函数

    函数是将一组语句通过一个名字*(函数名)封装起来,要想执行时,只需要调用其名字即可。

    def fun():
         操作

    主要作用是为了减少代码重复、使程序变得可扩展、易于程序的维护

    下面我们看看什么是形参实参?

    def fun(x,y):           #这其中x,y是形参
          操作
    
    #函数调用
    fun(5,6)                #实参

    python中的默认参数(举例生活中我们需要填一些东西,他老让我们写国籍,在我们的学校里都基本是国人,所以我们不想写国籍了怎么办?

    用默认参数直接默认填写)

    #默认参数
    def fun(name,age,loc="中国"):
         操作

    当我们调用时如果不写这个参数他会默认是中国

    fun("卢本伟",99)  #我们没有写  就显示中国
    
    
    
    fun("卢本伟",99,us)#如果写了就显示什么

    注意的是默认参数必须放在位置参数的后面!!!!!!

    python中的关键参数(必须放在未知参数后面)

    def fun(name,age,country):
          操作
    
    
    #函数调用
    fun("卢本伟",country="日本",age=99)

    python中非固定参数

    def send(msg,*user):
           for u in user:
               print("报警",u)

    调用

    方式一
     send("报警",'alex','daliu')
    其实写了*user后,参数就不固定了看你需要多少!
    
    
    方式二
    send('报警',*['alex','daliu'])

    注意啦:::若*user后面还有参数怎么写呢    上面的写法是会报错的。

    举例子:

    def send(name,*user,age):
               操作
    
    
    
    
    调用:send("卢本伟",'alex','daliu',age=99)
    这样子是不会报错的

    可能大家也注意到了 *user就是穿了一个元祖/列表

    那可以传递字典吗?

    当然是可以的。。

    name={
    "01""卢姥爷""02""开挂最牛逼"
    }
    
    def send(msg,**name):
            操作
    
    
    函数调用:send("报警",**name)

    2.1返回值

    函数中止并返回结果,未指定的返回none,函数永远只返回一个值

    若出现这种:return name,age 是返回了两个值吗?

    不是的,系统会将他们当做元祖显示出来。

    也可以直接返回元祖例: return [name,age]

    2.2局部变量、全局变量

    局部变量:函数里面定义的变量,只在函数内部有效.

    执行就近原则!

    name=['alex','black','peiq']
    
    def change():
            def name[2]
            name[1]='黑'
            print(names)
    
    
    #函数调用
    change()
    print(names)
     结果是:name=['alex',黑]
    为什么可以改变全局变量的值?
    这其实只是把name的地址当做是一个整体,但其内部是可以修改的!
    那种的是可以修改的?
    就像这种一串串的可以修改  什么列表呀 字典丫的

    2.3嵌套函数

    就是函数里面嵌套函数嘛

    要说的只有一点非常的重要

    def change() :
         print("a")
         def change1() :
               print("b")
    函数调用
    change()

    这个结果会显示什么?

    结果:a

    因为change1没有被调用所以不会执行

    2.4匿名函数

    fun=lambda x,y :

               x*y

    调用:print(fun(2,5))

    就这个例子自行体会,要知道的是在匿名函数最骚的操作可能就是三元运算了。循环什么都不行,

    2.5高阶函数

    满足条件:

    1.函数中参数是另一个函数(就是参数是函数)

    def a(x,y):
         return x*y
    def b(x):
         return x
    f=b(a)        #函数a被当做参数传入
    print(f(2,8))

    2.返回值中返回有函数

    例:return abs,x,y

  • 相关阅读:
    scrapy框架
    selenium解析
    xpath解析
    解析语法
    request-html-render
    牛逼的requests-html
    Beautifulsoup
    请求和响应
    reuqests请求
    Django文件上传下载与富文本编辑框
  • 原文地址:https://www.cnblogs.com/lchh/p/9379324.html
Copyright © 2020-2023  润新知