zoukankan      html  css  js  c++  java
  • python基础3--函数

    1、函数定义

    你可以定义一个由自己想要功能的函数,以下是简单的规则:

      函数代码块以def关键词开头,后接函数标识符名称和圆括号()。

      任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

      函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

      函数内容以冒号起始,并且缩进。

      Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

    函数:程序中可重复使用的程序段。给一段程程序起一个名字,用这个名字来执行一段程序,反复使用(调用函数),用关键字 ‘def' 来定义,identifier(参数)

    # -*- coding: utf-8 -*-
    
    # 没有参数和返回的函数
    def say_hi():
        print(" hi!")
    say_hi()
    say_hi()
    
    # 有参数,无返回值
    def print_sum_two(a, b):
        c = a + b
        print(c)
    print_sum_two(3, 6)
    
    def hello_some(str):
        print("hello " + str + "!")
    hello_some("China")
    hello_some("Python")
    
    
    # 有参数,有返回值
    def repeat_str(str, times):
        repeated_strs = str * times
        return repeated_strs
    repeated_strings = repeat_str("Happy Birthday!", 4)
    print(repeated_strings)
    
    
    # 全局变量与局部 变量
    x = 60
    def foo(x):
        print("x is: " + str(x))
        x = 3
        print("change local x to " + str(x))
    foo(x)
    print('x is still', str(x))
    
    x = 60
    def foo():
        global x
        print("x is: " + str(x))
        x = 3
        print("change local x to " + str(x))
    foo()
    print('value of x is', str(x))

    运行结果:

    2、关于函数的参数,有以下三个用:默认参数,关键字参数,VarArgs参数

    # -*- coding: utf-8 -*-
    
    # 默认参数: 如果没有传入参数,使用默认值
    def repeat_str(s, times=1):
        repeated_strs = s * times
        return repeated_strs
    
    repeated_strings = repeat_str("Happy Birthday!")
    print(repeated_strings)
    
    repeated_strings_2 = repeat_str("Happy Birthday!", 4)
    print(repeated_strings_2)
    
    # 不能在有默认参数后面跟随没有默认参数
    # f(a, b =2)合法
    # f(a = 2, b)非法
    
    # 关键字参数: 调用函数时,选择性的传入部分参数
    def func(a, b=4, c=8):
        print('a is', a, 'and b is', b, 'and c is', c)
    
    func(13, 17)
    func(125, c=24)
    func(c=40, a=80)
    
    
    # VarArgs参数
    #当用*在前加入一个参数名时,python将默认参数传入的是一个list或tuple,即多个参数
    #当用**在前加入一个参数名时,python将默认参数传入的是一个dict,即多个有关键字指明的参数
    def print_paras(fpara1, fpara2, *nums, **words):
        print("fpara1: " + str(fpara1))
        print("fpara2: " + str(fpara2))
        print("nums: " + str(nums))
        print("words: " + str(words))
    
    print_paras("hello", 1, 3, 5, 7, word="python", anohter_word="java")

    运行结果:

  • 相关阅读:
    python各种类型转换-int,str,char,float,ord,hex,oct等
    python 时间戳
    在Adobe Reader中保存PDF表单数据的方法
    如何执行一个mysql的sql脚本文件
    在Apache中利用ServerAlias设置虚拟主机接收多个域名和设置域名泛解析
    utf8_general utf8_general utf8_bin区别
    CentOS 6.3 卷组挂载硬盘教程 linux的VPS如何分区
    【译】在C#中获取程序集比你想得要困难
    【译】.NET Core中的中介者模式-第二部分-Roll Your Own
    【译】.NET Core中的中介者模式-第一部分-什么是中介者
  • 原文地址:https://www.cnblogs.com/platycoden/p/10423271.html
Copyright © 2011-2022 走看看