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

    一、定义

      函数是对功能和动作的封装
     1 def functionname( parameters ):
     2    "函数_文档字符串"
     3    function_suite
     4    return [expression]
     5 
     6 #函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
     7 #任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
     8 #函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
     9 #函数内容以冒号起始,并且缩进。
    10 #return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

    二、return 返回值

      1、不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。 
      2、只写return,后面不写其他内容,也会返回None,有的同学会奇怪,既然没有要返回的值,完全可以不写return,为什么还要写个return呢?这里我们要说一下return的其他用法,就是一旦遇到return,结束整个函数
      3、如果return后⾯写了⼀个值. 则调⽤者可以接收⼀个结果 
      4、如果return后⾯写了多个结果, 则调⽤者可以接收⼀个tuple, 调⽤者可以直接解构成 多个变量

    三、函数参数

      函数执行过程:现将def my_len()函数名加载进内存,然后在调用函数时再执行函数体
                                                      

      

      1. 形参 写在函数声明的位置的变量叫形参. 形式上的⼀个完整. 表⽰这个函数需要xxx 
      2. 实参 在函数调⽤的时候给函数传递的值. 叫实参, 实际执⾏的时候给函数传递的信息. 表⽰给函数 xxx 
      3. 传参 给函数传递信息的时候将实际参数交给形式参数的过程被称为传参. 
     
      (1) 实参
      <1>位置参数
    1 def yue(chat, address, age): # 形参
    2  print("拿出手机")
    3  print("打开"+chat)
    4  print("找个"+address+"附近漂亮的"+str(age)+"岁妹妹")
    5  print("约不约")
    6 yue("微信", "北京", 18) # 实参

      练习:编写函数, 给函数传递两个参数a, b. 比较a, b的⼤⼩, 返回 a, b中最⼤的那个数

    1 def my_max(a, b):
    2  if a > b:
    3  return a
    4  else:
    5  return b
    6 # 有点麻烦, 我们在这学一个三元运算符.
    7 def my_max(a, b):
    8  c = a if a > b else b # 当a>b成时返回a, 否则返回b
    9  return c

      <2>关键字参数

    1 def yue(chat, address, age):
    2  print("拿出手机")
    3  print("打开"+chat)
    4  print("找个"+address+"附近漂亮的"+str(age)+"岁妹子")
    5  print("约不约")
    6 yue(chat="微信", age=18, address="北京") # 关键字参数
      <3>混合参数
                   注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面
    1 yue("微信", age=18, address="上海") # 正确.第一个位置赋值给chat, 后面的参数开始指定关键字.
    2 yue(age="18", "微信", address="⼴州") # 错误, 最开始使⽤了关键字参数, 那么后面的微信的位置就串了, 容易出现混乱
      
      (2)形参
      <1> 位置参数. 按照位置来赋值
      <2>默认参数 :在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以给出具体的值, 也可以不给值, 使用默认值,⼤多数传进来的参数都是⼀样的, ⼀般⽤默认参数
    1 def yue(chat, address, age): # 位置参数
    2     函数体
    3 
    4 
    5 def stu_info(name, age, sex=''):
    6  print("录入学生信息")

      注意:必须先声明位置参数, 才能声明默认值参数

      
  • 相关阅读:
    Android游戏开发22:Android动画的实现J2me游戏类库用于Android开发
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第三部分,完整代码)
    使用OGR创建dxf格式矢量数据
    mysql 数据库引擎 MyISAM InnoDB 大比拼 区别
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第二部分)
    mysql 更改数据库引擎
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第一部分)
    android 数字键盘使用
    MySQL Innodb数据库性能实践
    eclipse : Error while performing database login with the driver null
  • 原文地址:https://www.cnblogs.com/hq82/p/9641842.html
Copyright © 2011-2022 走看看