系统运维
博文结构
自定义函数
变量作用域
Python内建函数
一.函数
Python中的函数都是语句和表达式的集合。函数的用法并没有限制,使用方式就像Python 中其他值一样,对于重复使用的代码,需要编写为自定义函数以便于重复使用。
函数可以分为无参函数和带参函数
1.无参函数
自定义无参函数并不复杂,语法格式如下:
def函数名称() :
代码块
return [表达式]
案例:
def add(): \\\\\\\\定义函数
op1=10
op2=20
rt=op1 op2
print op1,\\\' \\\',op2,rt
return
add() \\\\\\\\调用函数
\\\\\\\\输出结果
>>>
10 20 30
>>>
案例:输出九九乘法表
def nineMultiTab():
op1=(1,2,3,4,5,6,7,8,9)
op2=(1,2,3,4,5,6,7,8,9)
for i in op1:
for j in op2:
print i,*,j,=,i*j
retrun
nineMultiTab()
\\\\\\\\输出结果
>>>
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 1 = 2
2 * 2 = 4
..................略
(2)使用函数时经常会犯一-些错误,总结如下
函数的定义要先于函数的调用,否则会出错。
函数体的代码是一个整体,要注意缩进。
定义函数时要使用冒号,但调用时不可以使用冒号。
2.带参参数
带参函数的语法格式如下:
def函数名称(形式参数列表) :
代码块
return[表达式]
案例:
def add(x,y): \\\\\\\\带参数函数定义
return x y
print add(1,2) \\\\\\\\带参数函数调用
\\\\\\\\输出结果
>>>
3
(1)当程序比较烦琐时,参数的顺序很难记住,可以使用关键字参数。关键字参数是在调用函数时,明确指定参数值赋给哪个形参,语法格式如下:
函数名称(形参1=实参1,形参2=实参…)
综合案例:(计算器)
def operator (op1,op2,opFu):
if opFu not in \\\' -*/\\\':
return -1
if opFu == \\\' \\\':
result = op1 op2
elif opFu == \\\'-\\\':
result = op1 - op2
elif opFu == \\\'*\\\':
result = op1*op2
elif opFu == \\\'/\\\':
if op2 == 0:
print \\\'错误,除数不能为0\\\'
result = None
else:
result = op1 / op2
return result
def convert(op):
flag = True
for ch in op:
if ch not in \\\'1234567890\\\':
flag = Flase
brank
if flag == True:
return int(op)
else:
return None
if __name__== \\\'__main__\\\':
str1 = \\\'请输入第1个数:\\\\n\\\'
strFu = \\\'请输入一个算术运算符:\\\\n\\\'
str2 = \\\'请输入2个数:\\\\n\\\'
while True:
print \\\'需要退出程序,请输入字母q\\\'
opp1 = raw_input(str1)
ch = opp1.strip()[0].lower()
if ch ==\\\'q\\\':
break
op1 = convert(opp1)
if op1 ==None:
print \\\'输入错误,请输入整数!/n\\\'
continue
while True:
opFu= raw_input(strFu)
if opFu in \\\' -*/\\\':
break
else:
print \\\'运算符输入错误\\\'
continue
while True:
op2 = convert(raw_input(str2))
if op2 == None:
print 输入错误,请输入整数!\\\\n
continue
else:
break
result = operator(op1,op2,opFu)
if result <> None:
print 计算%d %s %d = %d\\\\\\\'n %(op1,opFu,op2,result)
print \\\'程序退出了\\\'
\\\\\\\\输出结果如下
需要退出程序,请输入字母q
请输入第1个数:
20
请输入一个算术运算符:
*
请输入2个数:
30
计算20 * 30 = 600\\\'n
需要退出程序,请输入字母q
二.变量作用域
作用域是指变量在程序中的应用范围,而变量声明的位置决定它的作用域,Python按作用域区分有局部变量和全局变量。全局变量是指在一个模块中最高级别的变量有全局作用域,除非被删除,否则存活到程序运行结束,所有函数都能访问全局变量。
局部变量是指定义在函数内的变量有局部作用域,依赖于定义变量的函数现阶段是否处于活动状态,调用函数时,局部变量产生,暂时存在。-旦 函数执行完,局部变量将会被释放。局部变量的作用域仅限于定义它的函数,全局变量的作用域在整个模块内部都是可见的。在同一个函数中,不允许有同名局部变量。在不同的函数中,可以有同名局部变量。在同一个程序中,全局变量和局部变量同名时,局部变量具有更高的优先级。
下面代码演示局部变量和全局变量的使用情况:
def addAge(age):
age =1
print \\\'addAge(): _age=%d age=%d\\\' %(_age,age)
return age
_age = input(\\\'输入年龄: \\\\n\\\')
rt = addAge(_age)
print \\\'main(): _age =%d \\\' %_age
print \\\'main(): rt=%d\\\' %rt
\\\\\\\\输出结果如下
>>>
输入年龄:
20
addAge(): _age=20 age=21
main(): _age =20
main(): rt=21
>>>
局部变量只有在局部中才能使用,其他范围是访问不到的,如age是局部变量.在全局范围就引用不到,比如在程序最后加上代码
lambda函数
lambda函数的作用是创建匿名函数,是一种声明函数的特殊方式。
lambda函数的语法如下所示:
lambda params: expr
params相当于函数接收的参数列表,expr 是函数返回值的表达式。
普通函数和一个lambda函数,案例如下:
def sum1(x,y): \\\\\\\\普通函数
return x y
sum2 = lambda x,y : x y \\\\\\\\lambda函数
print sum1(3,4)
print sum2(3,4)
\\\\\\\\输出结果如下
>>>
7
7
内建函数
Python除了本身的语法结构,还提供了常用的内建函数。内建函数是程序员经常使用到的方法.可增加程序编写的效率,如float()就是内建的函数。内建函数是自动加载的, Python 的解释器可以识别。它不需要导入模块,不必做任何的操作.不需要引用就可以调用。
(1)abs()函数能够返回一个数字的绝对值,即正数。语法格式如下:
abs (x)
案例:
>>> abs(10)
10
>>> abs(-10)
10
>>> bb = -3
>>> abs(bb)
3
(2) bool()函 数返回值是True或False.它是Boolean (布尔值)的简写,语法格式如下:
bool([x]
案例:里面不能为空
>>> bool()
False
>>> bool(0)
False
>>> bool(-3)
True
>>> bool(\\\'xws\\\')
True
(3) float() 函数用于转换数据为float 类型,语法格式如下:
float([ x ])
案例:
>>> float(\\\'25\\\')
25.0
>>> float(3)
3.0
>>> float(999.123)
999.123
>>>
字符串和数字都可以转为float类型,如果不能转换,就会抛出异常。
(4) int ()函数可以将数据转换为整数,语法结构如下:
int ([ x [,base]])
案例:
>>> int(199.99) \\\\\\\\浮点数
199
>>> int(\\\'100\\\') \\\\\\\\字符串
100
>>> int(\\\'99.9\\\') \\\\\\\\字符串
Traceback (most recent call last):
File <pyshell#25>, line 1, in <module>
int(\\\'99.9\\\')
ValueError: invalid literal for int() with base 10: \\\'99.9\\\'
>>>
需要注意当参数是字符串时,字符串中只能是整数格式,如果是浮点格式将有异常产生。
(5)range ()函数可以生成- -个列表,语法结构如下:
range ([start,] stop[,step])
案例:
>>> range(0,5)
[0, 1, 2, 3, 4]
>>> range(0,30,3)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27] \\\\\\\\递增
>>> range(30,0,-3)
[30, 27, 24, 21, 18, 15, 12, 9, 6, 3] \\\\\\\\递减
>>>
(6) sum () 函数可以对列表中元素求和,语法结构如下
sum(x[ ,start] )
案例:
>>> num=range(0,500,50)
>>> num
[0, 50, 100, 150, 200, 250, 300, 350, 400, 450]
>>> print(sum(num))
2250
>>>
(7) max()函数可以返回列表、元组或字符串中最大的元素,语法结构如下:
max (x)
案例:
>>> num=[6,2,12,7,64]
>>> max(num)
64
>>> string =\\\'d,u,a,n,g,D,U,A,N,G\\\'
>>> max(string)
\\\'u\\\'
>>>
len()函数返回一个对象的长度,语法格式如下:
len(s)
案例
>>> len(\\\'duang\\\') \\\\\\\\字符串
5
>>> aa=[\\\'python\\\',\\\'jave\\\',\\\'c#\\\',\\\'vb\\\'] \\\\\\\\列表
>>> len(aa)
4
>>> bb={\\\'zhangsan\\\':\\\'100\\\',\\\'lisi\\\':\\\'90\\\'} \\\\\\\\字典
>>> len(bb)
2
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码官网:www.west.cn