• 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关键字了。

  • 相关阅读:
    [Java123] 方法重载中遇到的编译器错误: both methods have same erasure => 引入Java泛型type erasure
    [Java123] 认识JavaBean
    [Java123] HashMap实现和应用
    [Java123] 开源工具guava比较器链ComparisonChain (附加比较null空值的实现方法)
    [Java123] Java的异常处理机制
    [ORACLE123] sysdate处理
    Linux进程实时可视化监控
    【Java123】ThreadLocal学习笔记
    【XML123】了解XMLUnit
    字符串%s
  • 原文地址:https://www.cnblogs.com/zoulingjin/p/9376337.html
Copyright © 2020-2023  润新知