• DAY9 函数


    一.脚本文件的执行

    1.存放当前文件作为脚本文件执行的参数们:[‘当前文件的绝对路径’,手动传入的参数们]

    2.脚本文件执行:直接用python解释器运行该文件

     print(sys.argv)
     # D:fullstack_s4day09代码.复习.py
     length = len(sys.argv)
     if length > 1:
         print("有指令传入")
         cmd = sys.argv[1]
         if cmd == '1':
             print("新建文件")
             # f = open('cmd.txt', 'w', encoding='utf-8')
             # f.close()
             with open(r'D:fullstack_s4day09代码cmd.txt', 'w', encoding='utf-8') as f:
                 pass
         elif cmd == '2':
             print("书写文件")
             with open(r'D:fullstack_s4day09代码cmd.txt', 'w', encoding='utf-8') as f:
                 f.write("写入内容")
         else:
             print("指令有误")
     else:
         print("没有指令传入")

    二.函数

    2.1 函数的定义

      函数:重复利用的工具可以完成特定功能的代码块,函数就是存放代码块的容器

    2.2 函数的组成

     def 函数名(参数们):
      函数体
      return '返回值'

      1.def: 声明函数的关键词

      2. 函数名:使用该函数的依据

      3.函数体:完成功能的代码块

      4.return:函数的返回值

      5. 参数:()参数列表,参数个数可以是0~n个,但()不能少

    2.3 函数的使用

      def fn(num):
        print("传入的num值:%s" % num)
        return '收到了'

       res = fn(10)

       控制台会打印:传入的num值:10

       res的值为:‘收到了’

      注意:函数一定要先定义后调用

    2.4 函数的分类

    1. 从函数体进行分类

      1.1空函数:项目之初,知道项目有哪些功能,但还没有明确功能体,可以用pass进行函数体填充

        def computed():

          pass

      1.2 非空函数

        def add_num(n1, n2):
          ''' 函数的注释
          :param n1: 第一个数
          :param n2: 第二个数
          :return: 两个数之和
          '''
        return n1 + n2
    2. 从参数列表划分

      1.无参函数:不需外界资源

        def start():
          print('系统启动')
      start()

      2.有参函数:需要外键资源

          def login(usr, pwd):
          if usr == 'owen' and pwd == '123':
              print('登录通过')
      else:
            print('登录失败')
     
        login('owen', '123')
    3.根据返回值划分(return用于结束函数)

      1. 空返回:返回None

        def demo(x, y):
          print( x + y )
         
      def demo(x, y):
        print( x + y )
        return  # 用来强行结束函数的(像break结束循环一样)

      2. 一值返回

          def demo(x, y):
          return x + y

      3.多值返回

          def demo(x, y):
        return x + y, x - y, x * y, x / y # 本质就是返回装有多个值的元组

    2.5 函数的嵌套调用

      函数的嵌套调用:在一个函数体重调用另一个函数

      在解释过程中,不执行函数体,在函数被调用时,函数体才被执行

         def fn1():
        print('fn1 run')
        fn2()
     ​
      def fn2():
        print('fn2 run')
        fn3()
     ​
      def fn3():
        print('fn3 run')
      # 注:在fn1中调用了fn2,所以调用fn1的逻辑应该在fn2定义之后
      fn1()

    2.6 函数完成指定文件名文件的复制

         def copy_file(source, target):
        '''
        :param source: 被复制的文件
        :param target: 复制得到的文件
        :return:
        '''
        with open(source, 'rb') as r, open(target, 'wb') as w:
            for line in r:
                w.write(line)
     ​
      copy_file('cmd.txt', 'aaa.txt')
      copy_file('temp.txt', 'ttt.txt')

     

     

     

  • 相关阅读:
    跟我extjs5(38--单个模块的设计[6获得模块列表数据])
    Visual Prolog 的 Web 专家系统 (8)
    ssh, maven and eclipse 那些破事
    在工厂模式
    IOS获取来电去电来电归属系统通知达到效果(一)
    基于CORS的geoserver同源访问策略
    springMVC1 springmvc的基础知识
    mybatis0212 mybatis逆向工程 (MyBatis Generator)
    mybatis0211 mybatis和spring整合
    mybatis0210 mybatis和ehcache缓存框架整合
  • 原文地址:https://www.cnblogs.com/majingjie/p/10615204.html
Copyright © 2020-2023  润新知