Python基础知识之4
函数与库
所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候可以反复调用.函数分为编译器自带的函数(内建)和用户自己创建的函数(自定义函数).内建函数是编译器开发者已经定义好的函数,用户可以直接使用,如print()函数;自定义函数是用户按照需求自己编制并定义的函数.当各种函数很多的时候,开发者会把函数分组,分别放到不同的文件里,这样每个文件包含的代码就相对较少而且可以是同一类函数,这个文件就称为库(也叫模块)
函数的定义与调用
格式如下:
def 函数名(参数):
代码
注意冒号和缩进,括号里面的参数可以省略
调用函数,只要输入函数名,如函数名y,如果函数含有参数,如函数y(x)中的x,那么在函数名后面的括号中输入相关参数即可
函数的返回值与作用域
- 返回值
格式如下:
def 函数名(参数):
...
return 返回的值
-
变量的作用域
1.局部变量
局部变量,就是在函数内部定义的变量
不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用2.全局变量
在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问
如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的
在函数中不使用global声明全局变量时不能修改全局变量的本质是不能修改全局变量的指向,即不能将全局变量指向新的数据。
对于不可变类型的全局变量来说,因其指向的数据不能修改,所以不使用global时无法修改全局变量。
对于可变类型的全局变量来说,因其指向的数据可以修改,所以不使用global时也可修改全局变量。
匿名函数
用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的步骤。
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression
如下实例:
>>> def fun(a, b, opt):
print ("a =", a)
print ("b =", b)
print ("result =", opt(a, b))
>>> fun(1, 2, lambda x,y:x+y)
a = 1
b = 2
result = 3
库(也称模块)
引用库的两种常见方法如下:
import 库名
from 库名 import 库里的一个功能
演示代码:
from datetime import datetime
print(datetime.now())
#或者
import datetime
print(datetime.datetime.now())
#两种方式的输出结果都是一样的
常用基本函数介绍
函数名 | 作用 |
---|---|
str() | 将数字转换为字符串 |
int() | 将字符串转换为数字 |
len() | 用于统计列表元素个数 |
replace() | 用于替换指定内容,一般格式为:字符串.replace(旧内容,新内容) |
strip() | 删除空白字符(包括换行符“\n”和空格字符" "),一般格式为:字符串.strip() |
split() | 分割字符串,最后生成的结果是一个列表,一般格式:字符串.split() |
cmp(item1, item2) | 比较两个值 |
max(item) | 返回容器中元素最大值 |
min(item) | 返回容器中元素最小值 |
del(item) | 删除变量,删除后不能访问 |
clear() | 清空容器中的元素,清空后可以访问该容器 |
id() | 判断两个变量是否为同一个值的引用 |