一.脚本文件的执行

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

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

 print(sys.argv)
 # D:\fullstack_s4\day09\代码\0.复习.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_s4\day09\代码\cmd.txt', 'w', encoding='utf-8') as f:
             pass
     elif cmd == '2':
         print("书写文件")
         with open(r'D:\fullstack_s4\day09\代码\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')
 

DAY9 函数的更多相关文章

  1. day9函数作业详解

    1.day9题目 1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 3,写函数,判断用户传入的对象(字符串.列表.元组 ...

  2. python全栈开发-Day9 函数对象、函数嵌套、名称空间与作用域

    一 .函数对象 一 .函数是第一类对象,即函数可以当作数据传递 可以被引用 可以当作参数传递 返回值可以是函数 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): ...

  3. python全栈学习--day9(函数初始)

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  4. python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用

    一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...

  5. Python学习day9 函数Ⅰ(基础)

    函数Ⅰ(基础) 三目运算 基本结构 v =  前面  if 条件 else 后面    #条件为真v=前面,条件为假v=后面.​#等同于if 条件: v = '前面'else:    v = '后面' ...

  6. day9 函数练习题

    写代码,接受n个数字,求这些数字的和 def sum_func(*args): total = 0 for i in args: total+=i return total print(sum_fun ...

  7. python 全栈开发,Day9(函数的初始,返回值,传参,三元运算)

    一.函数的初始 比如python没有len()方法,如何求字符串的长度使用for循环 s = 'fdshfeigjoglfkldsja' count = 0 for i in s: count += ...

  8. python基础学习Day9 函数的初识,实参、形参、

    1.函数 def my_len(): l = [,,,,,,] count = for i in l: count += print(count) my_len() 定义的my_len()方法时,其结 ...

  9. Python day9函数部分

    函数的学习:函数对于一门编程语言来说挺重要的,尤其是c语言,是完全使用函数来编写的 1.函数的定义:逻辑结构化和过程化的一种编程方法 def squre(x): "求一个数的平方 retur ...

随机推荐

  1. ASP.NET页面使用JQuery EasyUI生成Dialog后台取值为空

    原因: JQuery EasyUI生成Dialog后原来的文档结构发生了变化,原本在form里的内容被移动form外面,提交到后台后就没有办法取值了. 解决办法: 在生成Dialog后将它append ...

  2. 怎样把Word文档导入Excel表格

    Word是现在办公中的基础文件格式了,很多的内容我们都通过Word来进行编辑,那么当我们需要将Word文档里的信息导入到Excel里面的时候,我们应该怎样做呢?下面我们就一起来看一下吧. 操作步骤: ...

  3. 单片机小白应该如何学习stm32的一些实践心得!

    嵌入式搬砖道路上的大三狗一枚,撑死算个初学者吧.才学有限,下面仅仅是本人对STM32学习的一点心得与建议,希望对题主有帮助吧. 心得:本人当初学习STM32的时候有一些跟风的因素,自以为学的芯片越多就 ...

  4. 自己用纯C++实现简单的QT中信号与槽机制

    前天在我很久以前的一篇博文 (http://blog.csdn.net/liukang325/article/details/45742675) 中有人回复说看到我的博文很激动,希望我详细介绍一下信号 ...

  5. 如何在一个电脑上使用两个github账号

    问题描述:公司电脑上默认使用的是公司的github账号,如果希望写一些代码放到个人的github账号上,就需要配置让一个电脑上可以使用两个github账号 原理:管理两个SSH key 1.生成两个S ...

  6. Jmeter学习之-获取登录的oken值(1)

    ps: 这里只着重讲述如何实时获取其他接口返回的值,作为此次接口的参数传递,添加接口请求的相关不再详述,可查看上一篇文章 为了方便管理,此处将:登录接口单独放在一个线程组下面,需要使用登录接口返回的t ...

  7. java框架之SpringCloud(2)-Rest微服务案例

    在上一章节已经对微服务与 SpringCloud 做了介绍,为方便后面学习,下面以 Dept 部门模块为例做一个微服务通用 Demo —— Consumer 消费者(Client) 通过 REST 调 ...

  8. 一个项目中mysql数据库经常死锁的问题解决记录

    1.问题描述 此项目为一个物流系统,需要使用PDA对货物进行入库.备货.出货等操作,在系统开发测试过程中,经常发现死锁问题. 有这样一种业务场景:仓库对备货单上货进行扫码备货后,点击"完成& ...

  9. char 类型的操作函数

    1.内存充填 void *memset(void *s,int ch,size_t n); 是由C Run-time Library提供的提供的函数,作用是在一段内存块中填充某个给定的值,它是对较大的 ...

  10. 二叉查找树ADT

    二叉查找树ADT 定义:是一个二叉树,其中每一个节点的值大于左子树的所有值而小于右子树的所有值 平衡二叉树:平衡是指一个二叉树的任何节点的深度均不得过深 AVL树 定义:是一个二叉查找树,每个节点的左 ...