zoukankan      html  css  js  c++  java
  • Python基础第三课

    github博客传送门
    csdn博客传送门

    Python 函数

    函数能提高应用的模块性,和代码的重复利用率。我们之前已经使用过一些Python提供的内建函数,比如print()。当然我们也可以自己创建函数,叫做自定义函数。

    Python 函数定义规则

    函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
    任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
    函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
    函数内容以冒号起始,并且缩进。
    return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

    Python 函数定义的语法

    Python 定义函数使用 def 关键字,一般格式如下:

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

    Python 函数的定义示例

    # 例:定义函数,输出”Hello World”
    def hello():
        print("Hello World!")
    

    Python 函数的调用

    函数不调用就不会执行。调用函数通过函数名完成。

    # 例:调用我们之前定义的hello函数:
    def hello() :
        print("Hello World!")
    hello()
    

    输出:

    Hello World!
    

    Python 函数的参数传递

    def hello(name) :
        print("Hello {}".format(name))
    hello('Mrzhang')
    

    输出:

    Hello Mrzhang
    

    Python 函数关键字参数

    def hello(name,age=18) :
        print("Hello my name is {},今年{}岁".format(name,age))
    hello('Mrzhang')
    hello('Mrzhang',22)
    hello(age=66,name='Mrli')
    

    输出:

    Hello my name is Mrzhang,今年18岁
    Hello my name is Mrzhang,今年22岁
    Hello my name is Mrli,今年66岁
    

    注:参数中传入不可变类型的数据,相当于将原数据复制了一份.
    注:参数中传入可变类型的数据,可以对原有数据进行操作,也可以重新赋值.

    Python 函数的return语句

    def hello(name) :
        print("Hello {}".format(name))
        return '我是一个字符串返回值'
    hello('Mrzhang')
    print('-----我是一条分割线-----')
    print(hello('Mrli'))
    

    输出:

    Hello Mrzhang
    -----我是一条分割线-----
    Hello Mrli
    我是一个字符串返回值
    

    变量作用域

    Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用域的,也就是说这些语句内定义的变量,外部也可以访问.

    # 例:
    x = int(10)             # python内置作用域
    y = 2                   # 当前模块中的全局变量Global
    def outfuction():
        outfx = 2           # 外层作用域
        def infunction():
            infx = 3        # 局部作用域
    

    全局变量和局部变量

    定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。

    # 例:
    total = 0;                  # 这是一个全局变量
    def sum( arg1, arg2 ):
        total = arg1 + arg2     # total在这里是局部变量.
        print ("函数内是局部变量 : ", total)
        return total
    sum( 10, 20 )
    print ("函数外是全局变量 : ", total)
    

    内置函数

    内置函数见菜鸟教程
    http://www.runoob.com/python3/python3-built-in-functions.html

    模块

    模块的概念

    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py
    模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

    模块的使用

    import 语句

    import os            # 导入系统内置模块 os
    print (os.listdir()) # 调用os模块的listdir()方法 遍历当前文件夹的所有文件
    

    输出:

    ['test.py'] # 你输出的和我可能不太一样,需要查看你当前目录下有哪些文件
    

    自建一个模块 并写入两个方法 一个说你好 一个说拜拜
    import img
    然后导入 并调用两个方法
    import img2
    通过绝对路径调用模块
    import img3

    from…import 语句

    导入模块中的指定 部分/方法 到当前命名空间下

    from tool.test1 import sayHello,sayBye
    
    sayBye()
    sayHello()
    

    输出:

    Bye
    hello
    

    如下图:
    import img4

    Python dir()函数

    内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回.
    import img5

  • 相关阅读:
    Java多线程学习(六)Lock锁的使用
    Java多线程学习(五)线程间通信知识点补充
    Java多线程学习(四)等待/通知(wait/notify)机制
    Java多线程学习(四)等待/通知(wait/notify)机制
    Java多线程学习(三)volatile关键字
    SLAM领域资源链接
    追踪tracking
    orbslam算法框架
    Covisibility Graph
    优化
  • 原文地址:https://www.cnblogs.com/Mrzhang3389/p/9545312.html
Copyright © 2011-2022 走看看