Python第二天学习

1.函数

##一般格式

def 函数名(参数列表):
    函数体

##参数传递:

1.在Python中,类型属于对象,变量没有类型,他仅仅是一个对象的引用(指针)。

2.在Python中一切都是对象,只有可更改对象和不可更改对象。strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

相比于c语言,可变类型的看做传址,不可变的看做传值。对于不可变对象理解在第一天学习笔记中。

#coding=UTF-8
def change(mylist):
    mylist.append([1,2,3,4])
    print"函数内取值:",mylist
    return

def ch(a):
    a = 9
    print "函数内a的值", a
    return

mylist=[10,20,30]
change(mylist)
print"函数外取值:",mylist

a = 11
ch(a)
print "函数外a的值", a

 

##参数

关键字参数,使用关键字参数可以不计较传参的顺序,以关键字来判别

def stu(name,age):
print"Name",name
print"Age",age
tol = name+" "+str(age)
return tol

tol = stu(age=18,name="leo")

print(tol)

不定长参数

def C(classname,*person):
    print(classname),
    for var in person:
        print var,
    return

C(1600130217,10,11,12,13,14,15,16,17,18)

其中*以元组方式存储,**是以字典方式,

##全局与局部变量

对于变量作用域,变量的访问以 L(Local) –> E(Enclosing) –> G(Global) –>B(Built-in) 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。

Money = 2000
def AddMoney():
    global Money#确认Money为全局变量,因为默认情况下Python假设所有函数内的变量为局部变量,所以必须要用global声明
    Money+=1

print Money
AddMoney()
print Money

 

##模块

用import来引用要用的模块,还可以用from modname import *

##global 和 nonlocal关键字

当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。

 

posted @ 2018-07-27 10:57  leonard丶zou  阅读(129)  评论(0编辑  收藏  举报