zoukankan      html  css  js  c++  java
  • 初识函数

    函数定义:给代码段命名,实现一项具体的功能
    他们给代码段命名,就跟变量给字符串或数字命名一样;
    他们可以接受参数,就跟你的脚本接收argv一样
    可以创建脚本和命令
    函数的基本结构:
    def 函数名(): def定义函数关键字,函数名必须符合定义变量规则;括号中可以放参数或为空;必修以冒号分开与函数体
    函数说明
    函数体

    函数的优点:
    1.减少代码的重复率
    2.增强代码的阅读性
    函数最主要的目的:封装一个功能。

    函数的返回值rutern
    1.在函数体中遇到return则结束执行函数,在函数体return下面的内容将不执行。
    2.return给函数执行者返回值

    return中返回值的几种方式:
    1.返回为None
    1 def my_sum ():
    2     a= 1
    3     b =2
    4     c =a+b
    5     return
    6 print(my_sum())       # 整体是函数的执行者。
    2.返回单个元素值     原样返回
    1 def my_sum ():
    2     a= 1
    3     b =2
    4     c =a+b
    5     return c
    6 print(my_sum())
    3.返回多个元素值     返回一个有元素组成的元祖
    def my_sum ():
        a= 1
        b =2
        c =a+b
        return a,b,c
    print(my_sum())
    工作中,函数中尽量不要出现print
    函数的传参:
    实参(函数执行者括号中的参数)
    位置参数 按照顺序,一一对应
    关键字参数 可以不按照顺序,但是必须一一对应
    混合参数 关键字参数一定要在位置参数后面
    形参(函数定义中括号的参数)
    位置参数 按照顺序,一一对应
    默认参数

    实参
    位置参数 按照顺序,一一对应
    1 def sum (x,y):
    2     c = x+y
    3     return c
    4 print(sum(18,56))
    关键字参数,可以不按顺序,但是必须一一对应
    1 def sum (x,y):
    2     sum1= x+y
    3     return sum1,x,y
    4 print(sum(y=88,x=12))
    三元运算:只针对于简单的if else 这样的结构,才可以使用。
    比较两个数的大小
    1 def big (x,y):
    2     return x if x>y else y
    3 print(big(45,78))
    混合传参: 关键字参数一定要在位置参数后面
    1 def hun (a,b,c,d,e,f):
    2     return a,b,c,d,e,f
    3 print(hun(1,2,3,4,e=7,f=8))
    4 
    5 def hun (a,b,c,d,e,f):
    6     return a,b,c,d,e,f
    7 print(hun(e=7,f=8,1,2,3,4))     #会报错SyntaxError: positional argument follows keyword argument
    形参角度
    位置参数 按照顺序,一一对应
    默认参数:给其传值,将原默认参数覆盖掉,不传值,不报错,使用默认值
    应用场景:不经常改变的参数,但是一直在用。
    位置参数
    1 def func(x,y,z):
    2     print(x,y,z)
    3 func(1,2,3)
    默认参数
    1 def func(x,y=''):
    2     return x,y
    3 print(func('林树辉'))  #这里可以只传递一个参数,另一个使用默认参数
    常见错误
    在形参中默认参数若果是一个可变数据类型(list,dic)时,默认的参数会随着内容的增加而发生变化
    默认参数若是可变的数据类型,他始终使用的是一个

    1 def func (x= [],y=[]):
    2     y.append(x)
    3     return x,y
    4 print(func(['a'],['b']))
    5 print(func(['d'],['c']))
    定义一个函数
    函数的功能为录入人员信息,并将内容写入文件
     1 def input_list(name,age="18"):
     2     with open('info.txt','a',encoding='gbk') as f:
     3         f.write("{}|{}".format(name,age))
     4 while 1:
     5     name = input('输入姓名:').strip()
     6     age = input('输入年龄').strip()
     7     if name.upper() == "Q" or age=='Q':
     8         break
     9     if  not age:
    10         input_list(name,age)
    11     else:
    12         input_list(name)
    函数的功能为录入人员信息,并将内容写入文件
     1 def namelist(n1,s1=''):
     2     with open('namelist',encoding='utf-8',mode='a') as f1:
     3         f1.write('{}|{}
    '.format(n1,s1))
     4 
     5 while 1:
     6     name,sex = input('请输入姓名,性别:以 ,隔开').strip().replace('',',').split(',')
     7     if name.upper() == 'Q':break
     8     if sex.strip():
     9         namelist(name,sex)
    10     else:
    11         namelist(name)
  • 相关阅读:
    传统IO总结
    关于JAVA垃圾回收的一些小tips
    一个爬喜马拉雅音频的例子
    return研究
    Java基础知识-java.util.concurrent包下常见类的使用
    <a>链接的四个伪类顺序
    前端面试题
    setTimeout的作用以及setTimeout延时0毫秒的作用
    闭包的使用
    JavaScript typeof obj === ‘object’ 这样写有什么问题
  • 原文地址:https://www.cnblogs.com/qilin610/p/9514820.html
Copyright © 2011-2022 走看看