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

原文地址:https://www.cnblogs.com/Mrzhang3389/p/9545312.html