zoukankan      html  css  js  c++  java
  • python学习11函数

    ''''''
    '''
    函数:
    1.定义:指通过专门的代码组织,用来实现特定的功能的代码段,具有相对独立性,可供其他代码重复调用
    2.语法:
    def 函数名([参数]):
    函数体
    [return 返回值]
    3.函数名命名规则:
    (1)符合基本的标识符命名原则;
    (2)不能与现有内置函数名发生冲突
    (3)名称应该准确的表达函数的功能
    '''
    #1.不带参数的函数————求因数
    def factor_no_para():

    nums=10
    for i in range(1,11):
    if nums%i==0:
    print('%d'%(i))
    factor_no_para()

    #2.带参数函数格式————求因数2.0
    def factor_no_para2(nums): #在def(参数)这里面的参数叫形式参数
    for i in range(1,nums+1):
    if nums%i==0:
    print(i)
    factor_no_para2(15) #15为给自定义函数传的值(参),叫实际参数

    '''
    4.调用函数模块
    通过import语句导入整个函数模块——导入后,通过模块名.函数名的连接方式调用函数
    还可以只调用指定函数:from 模块名 import 函数名1,函数名2...
    还可以导入所有函数:from 模块名 import *
    别名:若模块名,函数名过长,可以通过as语句定义别名的方式解决:模块名【函数名】 as 别名
    5.参数
    notes:1.不定长参数:(1)传递任意数量的参数值:*
    (2)传递任意数量的键值对:**
    2.参数可以传递元组,列表和字典
    '''
    def exam(name,score):
    print('name:'+name+',score:'+str(score))

    exam('liu',100)
    exam(name='wang',score=100)
    exam(score=90,name='ma')
    exam('li',score=50)

    def fruit(name,**attribute):
    print('name:'+name)
    return attribute

    print(fruit('watermelon',color='green',shape='圆形',taste='sweet')) #传递的是键值对
    '''
    结果为:name:watermelon
    {'color': 'green', 'shape': '圆形', 'taste': 'sweet'}
    '''
    '''
    6.作用域
    (1)全局变量:从赋值开始,后续代码都可以访问该变量
    (2)局部变量:只能在被定义的函数或者类内部被访问的变量
    7.关键字——global
    全局变量在函数中不能对其进行修改,如需修改,要先用global关键字声明
    '''
    i=10

    def sum1():
    global i #声明i为全局变量
    i=i+5
    print(i)
    sum1()
    print(i)
    '''
    8.闭包
    是介于全局变量和局部变量之间的一种特殊变量。

    '''
    j=5
    def sum2():
    k=2 #闭包变量k
    def sum3():
    i=k+j
    return i
    return sum3()
    print(sum2())
    '''
    9.nonlocal关键字
    外部函数定义一个变量,内部函数去调用,这个变量就叫闭包变量,如果内部函数想修改这个闭包变量,需要用nonlocal关键字声明。
    10.匿名函数
    lambda
    11.递归函数
    '''
    a=lambda x,y:x*y
    m=a(2,3)
    print(m)
  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/wsxcode/p/12318855.html
Copyright © 2011-2022 走看看