zoukankan      html  css  js  c++  java
  • python学习随笔之函数

    函数:完成某个特定功能的一个语句组或代码块,这一段代码取名并整体使用。

    自定义函数:

    预定义的python函数:

    函数的定义:def 函数名 (参数列表) : #可以没有参数

                          函数体

    >>>def add():

    ...    c = a + b

    ...    print c

    ...

    >>>add()

    c的值

    形式参数,简称形参:在定义函数时函数名后面圆括号中的变量名称叫做"形式参数"

    实际参数,简称实参:在调用函数时,函数名后面圆括号中的变量名称叫做"做实际参数"

    1 #!/usr/bin/python
    2 
    3 def fun(x):    #定义函数,冒号开启
    4     print x
    5 
    6 s = raw_input("please input :")
    7 fun(s)           #调用函数

    功能:输入什么,打印什么
     1 #!/usr/bin/python
     2 
     3 def fun(x,y):
     4     if x == y :
     5         print x,'=',y
     6     else:
     7         print x,'!=',y
     8 
     9 s1 = raw_input("please input s1:")
    10 s2 = raw_input("please input s2:")
    11 
    12 fun(s1,s2)

    功能:传递两个参数,并进行比较:
    形参和实参的位置是一一对应的

    局部变量:

    1 #!/usr/bin/python
    2 
    3 def fun():
    4     a = 100
    5     print a
    6 
    7 fun()
    输出结果:
    100(局部变量a的值)

    全局变量:

    1 #!/usr/bin/python
    2 
    3 a = 100
    4 
    5 def fun():
    6     print a
    7 
    8 fun()
    输出结果:
    100(全局变量a的值)

    区别:

    1 #!/usr/bin/python
    2 
    3 a = 100 
    4 def fun():
    5     a=10
    6     print a
    7 
    8 fun()
    9 print a

    输出结果:
    10(局部变量)
    100(全局变量)
     1 #!/usr/bin/python
     2 
     3 
     4 def fun():
     5     a = 10
     6     print a
     7 
     8 fun()
     9 print "#"*50
    10 print a
    输出结果:

    10
    ##################################################
    Traceback (most recent call last):
    File "10.py", line 10, in <module>
    print a
    NameError: name 'a' is not defined   原因是print a中的a未定义,而函数里的a是局部变量,定义函数,函数本身不执行,调用才执行。

     1 #!/usr/bin/python
     2 
     3 x = 'i am a global var'
     4 
     5 def fun():
     6     x = 100
     7     global y    #声明y为全局变量
     8     y = 1000
     9     print x
    10 
    11 fun()
    12 print "#"*50
    13 print x
    14 print "#"*50
    15 print y
    输出结果:

    100
    ##################################################
    i am a global var
    ##################################################
    1000

  • 相关阅读:
    LUOGU P4113 [HEOI2012]采花
    LUOGU P4251 [SCOI2015]小凸玩矩阵
    bzoj 3230 相似子串——后缀数组
    bzoj 4453 cys就是要拿英魂!——后缀数组+单调栈+set
    洛谷 5061 秘密任务——二分图染色
    bzoj 4104 [Thu Summer Camp 2015]解密运算——思路
    bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
    poj 3415 Common Substrings——后缀数组+单调栈
    CF 504E Misha and LCP on Tree——后缀数组+树链剖分
    bzoj 4278 [ONTAK2015]Tasowanie——后缀数组
  • 原文地址:https://www.cnblogs.com/solozhou/p/6406672.html
Copyright © 2011-2022 走看看