# coding: utf-8
############### 调用函数 #############
#调用abs函数
a = abs(100)
print(a)
#调用max函数
a = max(1, 2)
print(a)
a = max(1, 2, 3, 4, 5, 6)
print(a)
#数据类型转换
a = int('23')
print(a)
a = float('213.3')
print(a)
a = str(1324234)
print(a)
a = bool(1)
print(a)
a = bool('')
print(a)
a = abs
a = a(-1)
print(a)
############### 定义函数 #############
'''
定义一个函数使用def语句,一次写出函数名,括号,括号中的参数和冒号然后在缩进块中编写函数体,返回值用return
'''
def my_abs(x):
if x >= 0:
return x
else:
return -x
a = my_abs(-3)
print(a)
#空函数
def nop():
pass
#检查函数类型
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x
print(my_abs(8))
#返回多个值
import math
def move(x, y, step, angle = 0):
nx = x + step * math.cos(angle);
ny = y - step * math.sin(angle)
return nx, ny
print(move(100, 100, 60, math.pi / 6))
############### 函数的参数 #############
'''
定义函数时,把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,
以及返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。
Python中出了正常定义必要参数外,还可以使用默认参数,可变参数和关键字参数,使得函数定义歘来的接口,不但能处理复杂
参数,还可以简化调用者的代码
'''
#位置参数
def power(x):
return x * x
print(power(5))
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print(pow(2, 3))
#默认参数 注意:默认参数必须指向不变的对象
def power(x, n = 2):
s = 1
while n > 0:
n = n - 1
s = s * n
return s
print(power(9))
#可变参数 也就是传入的参数的个数是可变的, 允许你传入0个或任意个参数,这些可变参数在函数调用的时候自动组装成一个tuple
def calc(numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
print(calc((1, 3, 5, 6, 67)))
print(calc([4, 5, 6, 7, 56]))
def calc(*number):
sum = 0
for n in number:
sum = sum + n * n
return sum
print(calc(4, 4, 6, 23))
#关键字参数 允许你传入0或者多个喊参数名的参数, 这些关键字参数在函数内部组装为一个dict
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
print(person("张三", 34))
extra = {'city': 'Beijing', 'job': 'engineer'}
person('Jack', 34, **extra)
#命名关键字参数
def person(name, age, **kw):
if 'city' in kw:
print('有city')
if 'job' in kw:
print('有job参数')
print('name:', name, 'age:', age, 'other:', kw)
############### 递归函数 #############
'''
在函数内部,可以调用其他函数, 如果函数内部调用自身,这个函数就是递归函数
'''
def fact(n):
if n == 1:
return 1
return n * fact(n - 1)
print(fact(45))
Python基础之二函数
最新推荐文章于 2024-08-26 18:56:03 发布