orangepi——学习python03

1、python函数

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • orangepi@orangepizero2:~/python$ vi func23.py
    orangepi@orangepizero2:~/python$ python2.7 func23.py
    我要调用用户自定义函数!
    再次调用同一函数
    orangepi@orangepizero2:~/python$ cat func23.py
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    # 定义函数
    def printme( str ):
       "打印任何传入的字符串"
       print str
       return
    
    # 调用函数
    printme("我要调用用户自定义函数!")
    printme("再次调用同一函数")
    

    传参:(传不可变对象,类似c语言传参形参)

orangepi@orangepizero2:~/python$ vi func02.py
orangepi@orangepizero2:~/python$ python2.7 func02.py
2
10
2
orangepi@orangepizero2:~/python$ cat func02.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-

def ChangeInt( a ):
    print a
    a = 10
    print a

b = 2
ChangeInt(b)
print b # 结果是 2

传参(可变,类似c语言指针)

orangepi@orangepizero2:~/python$ vi func03.py
orangepi@orangepizero2:~/python$ python2.7 func03.py
函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
函数外取值:  [10, 20, 30, [1, 2, 3, 4]]
1
orangepi@orangepizero2:~/python$ cat func03.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 可写函数说明
def changeme( mylist ):
   "修改传入的列表"
   mylist.append([1,2,3,4])
   print "函数内取值: ", mylist
   return

# 调用changeme函数
mylist = [10,20,30]
changeme( mylist )
print "函数外取值: ", mylist
print mylist[3][0]

关键字参数(指定参数不用按顺序,不指定参数需要按顺序)

orangepi@orangepizero2:~/python$ vi func04.py
orangepi@orangepizero2:~/python$ python2.7 func04.py
Name:  miki
Age  50
Name:  yangzerui
Age  666
orangepi@orangepizero2:~/python$ cat func04.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-

#可写函数说明
def printinfo( name, age ):
   "打印任何传入的字符串"
   print "Name: ", name
   print "Age ", age
   return

#调用printinfo函数
printinfo( age=50, name="miki" )
printinfo( 'yangzerui', 666)

不定长参数(一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名)

orangepi@orangepizero2:~/python$ vi func05.py
orangepi@orangepizero2:~/python$ python2.7 func05.py
输出:
10
输出:
70
60
50
orangepi@orangepizero2:~/python$ cat func05.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 可写函数说明
def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print "输出: "
   print arg1
   for var in vartuple:
      print var
   return

# 调用printinfo 函数
printinfo( 10 )
printinfo( 70, 60, 50 )

return语句

orangepi@orangepizero2:~/python$ vi funcret06.py
orangepi@orangepizero2:~/python$ python2.7 funcret06.py
函数内 :  30
函数外: 30
orangepi@orangepizero2:~/python$ cat funcret06.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 可写函数说明
def sum( arg1, arg2 ):
   # 返回2个参数的和."
   total = arg1 + arg2
   print "函数内 : ", total
   return total

# 调用sum函数
total = sum( 10, 20 )
print"函数外:",total

全局变量和局部变量:

        函数外是全局变量,函数内是局部变量

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
total = 0 # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
   #返回2个参数的和."
   total = arg1 + arg2 # total在这里是局部变量.
   print "函数内是局部变量 : ", total
   return total
 
#调用sum函数
sum( 10, 20 )
print "函数外是全局变量 : ", total

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值