zoukankan      html  css  js  c++  java
  • 函数及函数的嵌套等

    函数:具有独立功能的代码块组织为一个小模块,在需要的时候调用。
    函数使用步骤:
    1)定义函数
    2)调用函数
    函数的作用:在开发程序时,使用函数可以提高编写的效率以及代码的重用
     
    函数的定义
    语法格式:
    def 函数名():
    函数封装的代码
    ....
    1)def是define的缩写
    2)函数名称的命名与标识符的命名规制一致
    3)函数的调用:函数名 ()
    4)函数必须先定义后调用
    5)因为函数体相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留2个空行,如果在注释,在定义函数的下方,使用连续的三对引号
     
    例如:
    def sayHello():
    print ("hello world!")
    sayHello() #可以重复调用,如果函数不被调用,是不会主动执行的
     
    sayHello是这个函数的名字,后面的括号里是参数,这里没有,表示不需要参数。多个参数中间用逗号隔开
    缩进的代码块就是整个函数的内容,称作函数体。
     
    然后我们去调用这个函数:
    sayHello()
    得到和直接执行print 'hello world!'一样的结果。
     
    函数参数,形参和实参
    1)函数名后边的小括号里添加参数
    2)参数之间使用 , 隔开
    3)使用参数增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据
    4)形参:在定义函数时,小括号里的参数是用来接收参数用的额,在函数内部作为变量使用
    5)实参:在调用函数时,小括号中的参数用来数据传递到函数内部用的
     
    函数的返回值
    返回值:函数完成工作后,最后给调用者的一个结果,在函数中使用关键字 return
    注意:return表示返回,后续的代码不会被执行
    def sum(n1, n2):
     """对两个数字求和"""
     sum = n1 + n2
     # 使用return 返回值,告诉调用函数一方计算的结果存储在sum中
     return sum
     print("执行?") # return 后面的代码不被执行,所以run时这行不被打印
     
    # 使用变量r 来接收函数执行的返回结果
    r = sum(1, 2)
    print(r)
    
    案例:猜数字
    from random import randint
     
    def isEqual(num1, num2):
     if num1 > num2:
     print('too big')
     return False
     if num1 < num2:
     print('too small')
     return False
     if num1 == num2:
     print('bingo')
     return True
     
    num = randint(1, 101)
    print('Gusee what I think?')
    bingo = False
    while bingo == False:
     answer = input()
     bingo = isEqual(int(answer), num)
     # 注意输入的是字符串,要进行类型转换
    
    函数嵌套
    一个函数里又调用了另外一个函数
    def test1(char, count):
     row = 0
     while row < 5:
     print(char * count)
     row += 1
    def test2():
     print("下面打印的是分割线")
     test1("*", 10)
    test2()
    
    哈希(hash)
    在Python中内置有一个名字叫做 hash(o) 函数
    接收一个不可变类型的数据作为参数
    返回结果是一个整数
     
    哈希是一种算法,其作用就是提取数据的特征码(指纹)
    相同的内容 得到 相同的结果
    不同的内容 得到不同的结果
    键值对的key必须是不可变类型的数据
    键值对的value可以是任意的数据的类型
     
  • 相关阅读:
    为什么要用getBaseContext()方法代替this?(转)
    如何让EditText不能自动获取焦点(转)
    context和getApplicationContext()的区别
    Idea 破解
    mysql 免安装
    AngularJS
    GC垃圾回收机制
    JVM类加载机制
    线程池
    面试-数据库
  • 原文地址:https://www.cnblogs.com/wysk/p/11277682.html
Copyright © 2011-2022 走看看