zoukankan      html  css  js  c++  java
  • 函数

    #python 中函数定义方法

     1 def test(x):
     2     """这个一个函数的介绍"""
     3     x+=1
     4     return
     5 
     6 # def :定义函数的关键字
     7 # test:函数名
     8 # ():内可定义形参
     9 # """.....""":文档描述(非必要,但是建议加一个函数的描述信息)
    10 # x+=1:指代码快或程序处理逻辑
    11 # return:第一返回值
    
    
    #测试函数示例

     1 import  time
     2 def file1():
     3     """打开一个文件写日志"""
     4     time_f = '%Y-%M-%D %X'
     5     time_c = time.strftime(time_f)
     6     with open('user.txt','a+') as f:
     7         f.write('
     %s --- aaa' %time_c)
     8     return 0
     9 
    10 def tes():
    11     print("测试打印")
    12     file1()
    13     return 1,'hello'
    14 
    15 #将return 的值打印出来
    16  print(file1())
    17  print(tes())

    #调用参数

     1 #形参:形式参数,不是实际存在,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时接收实参。
     2 #实参:实际参数,调用函数时传给函数的参数,可以使常量,变量,表达式,函数,传给形参。
     3 #区别:形参是虚拟的,不占用内存空间,形参变量只有被调用时才分配内存单元,实参是一个变量,占用内存空间,数据传送单向,实参传给形参,不能形参传给实参。
     4 
     5 def number(x,y,z):   #x,y是形参
     6     print(x)
     7     print(y)
     8     print(z,'end
    ')
     9 
    10 # number(1,2)        #1,2是实参,和形参的关系是一一对应的
    11 # number(2,1)
    12 number(1,z=3,y=5)    #关键参数是不能写在位置参数前面.比如错误的示范:number(x=1,2,3)
    
    

    #函数默认参数

     1 #特点:调用函数的时候。默认参数非必须传递
     2 #part 1
     3 def num(x,y,z=3):
     4     print(x)
     5     print(y,'end
    ')
     6 
     7 num(1,3)
     8 
     9 #part 2
    10 def nu(x,*args):    #*接受N个位置参数为元组的模式,args形参的名字
    11     print(x,args)
    12 
    13 nu(*['a',2,3,4])   #结果a (2, 3, 4)
    14 nu('a',*[2,3,4])    #结果a (2, 3, 4)
    15 
    16 #part 3
    17 
    18 def n_dic(**kwargs): #**接受N个关键字参数转换成字典,kargs形参的名字
    19     print(kwargs)
    20     print(kwargs['name'])
    21     print(kwargs['age'])
    22 
    23 n_dic(name='gg',age=11)
    24 
    25 #组合
    26 
    27 def all(name,age,*args,**kwargs):
    28     print(name)
    29     print(age)
    30     print(args)
    31     print(kwargs)
    32
    all('gdr',22,*[1,2,3],day='gg',sex='M')
    
    

    #全局和局部变量

     1 name='gdr'                          #全局变量
     2 school='四川师范大学'                 #全局变量
     3 l = ['ggg','fff']           #列表,字典,集合可以通过局部变量修改全局变量
     4 
     5 def change_name(name):
     6     #global school           #将局部变量变为全局变量(最好不要用)
     7     #school = '四川科技大学'
     8     l[0]='gdr'
     9     print('before change',name,school,l)
    10     name = 'djj'                    #局部变量,函数就是这个name变量的作用域
    11     print('after change',name)
     
  • 相关阅读:
    android WeakReference(弱引用 防止内存泄漏)与SoftReference(软引用 实现缓存机制(cache))
    android Handler.btionMessage()与Message.obtain()的区别
    android 编译
    android之xmlpullparse解析器
    android之animation
    如何用SQL语句实现Mysql数据库的备份与还原
    android之Volley实现瀑布流
    使用TCP的HelloServer
    java socket编程(网络编程)
    彻底搞懂Python切片操作
  • 原文地址:https://www.cnblogs.com/jesse-gong/p/7682336.html
Copyright © 2011-2022 走看看