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)

内置函数

模块

模块的概念

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py

模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

模块的使用

import 语句

import os # 导入系统内置模块 os

print (os.listdir()) # 调用os模块的listdir()方法 遍历当前文件夹的所有文件

输出:

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

自建一个模块 并写入两个方法 一个说你好 一个说拜拜

然后导入 并调用两个方法

通过绝对路径调用模块

from…import 语句

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

from tool.test1 import sayHello,sayBye

sayBye()

sayHello()

输出:

Bye

hello

如下图:

Python dir()函数

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

python函数体以冒号起始、并且是缩进格式的_Python基础第三课相关推荐

  1. python函数体以冒号起始、并且是缩进格式的_函数体以冒号起始,并且是缩进格式的。(3.0分)_学小易找答案...

    [判断题]如果想在函数中修改全局变量,需要在变量的前面加上global关键字(3.0分) [判断题]全局变量定义在函数外,可以在整个程序范围内访问.(3.0分) [判断题]使用return语句可以返回 ...

  2. python函数体以冒号起始、并且是缩进格式的_函数体以冒号开始,并且是缩进格式的。_学小易找答案...

    [单选题]在下面的代码里 using System; class A { public A() { PrintFields(); } public virtual void PrintFields() ...

  3. Python基础第三课-基本数据类型

    Python基础第三课-基本数据类型 1.几个基本概念 1.1 表达式 1.2 语句 1.3 程序(program) 1.4 函数(function) 2.标识符 2.1 关键字 2.2 标识符概念 ...

  4. 在多线程 Python 程序中实现多目标不同缩进格式的 logging

    <本文的原始位置: http://bluegene8210.is-programmer.com/posts/21754.html> ---- 带有动态缩进格式的自定义 logging 机制 ...

  5. python代码块使用缩进来表示_python 基础语法

    1.编码 默认情况下,Python3源码文件以UTF-8编码,所有字符串都是unicode字符串.当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*- 上述定义允 ...

  6. python赋值语句的一般格式为_Python 基础语法

    Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程 ...

  7. python缩进编码教程_python基础语法教程:行与缩进

    缩进 使用缩进来表示代码块,不需要使用大括号 {} . 同一个代码块的语句必须包含相同的缩进空格数. 多行语句 Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语 ...

  8. python组合类型有哪三种_Python基础语法三组合数据类型

    一.列表(Lists) 列表属于Python中的序列类型,它是任意对象的有序集合,通过 " 位置 "或者 " 索引 " 访问其中的元素,它具有可变对象.可变长度 ...

  9. python初学火车座位判断_Python学习第三课 判断(if)语句

    判断(if)语句 目标 ● if 语句体验 ● if 语句进阶 ● 综合应用 01. if 语句体验 1.1 if 判断语句基本语法 在Python中,if 语句就是用来进行判断的,格式如下: if ...

最新文章

  1. javascript捕获ocx事件
  2. 另类的 高版本数据库 转换到 低版本数据库
  3. GDOI2018-《被虐记》
  4. innobackupex参数说明
  5. JavaScript中的const
  6. (9)Node.js 内置模块
  7. sqlserver2000内存突破4g_友商都上16G,华为手机为何一直用8G内存?网友:效仿iOS...
  8. python手写字体程序,Python3生成手写体数字方法
  9. js实现word生成书签_javascript下用ActiveXObject控件替换word书签,将内容导出到word后打印...
  10. Android开发笔记(一百六十二)蓝牙设备的连接与配对
  11. 关于软件产品化的几点思考【转】
  12. SpringBoot(一)——入门
  13. gRPC快速入门(三)——Protobuf应用示例
  14. pd_to_datetime将时间戳转换日期格式,日期不正确
  15. Java中英文字母的大小写转换ideaeclipse大小写快捷键
  16. 【zzt原创】pdf内容提取,2021年9月最新可用pdfminer例子
  17. ElementUI入门到入土
  18. 端口映射提速工具PortTunnel用法
  19. Clinet dose not support authentication protocol request by server ;consider upgrading MySQL client
  20. 【TS】TypeScript声明文件(.d.ts)的使用

热门文章

  1. sqlserver order by自定义数字排序 其他_苹果cms怎么自定义伪静态规则?
  2. 傅里叶变换音频可视化_Web Audio在音频可视化中的应用
  3. php反转数字_PHP将字符串转换成数字
  4. IPC\DVS\DVR与NVR之间的区别
  5. WebRTC / Jitsi / 使用 jitsi 官方源安装内网演示环境过程
  6. java生成xml_java 生成xml
  7. js锚点定位_overflow属性详解,利用CSS实现锚点定位
  8. 台式电脑不拉网线上网_技巧知识:电脑不用网线也可以上网了,你知道吗?
  9. 2.11 while循环的嵌套以及应用(难)
  10. Linux php安装fileinfo扩展