欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python5: 函数入门

程序员文章站 2022-04-09 21:43:20
...

1 调用函数

abs(-2) # 取绝对值
max(2,3,4) #取最大值
print(abs(-5.4))
print(max(-2.3,2,5))

a=25
print(hex(a)) # hex()为16进制表达的字符串

2 定义函数 def. return 语句返回

def my_abs(x):
if x>=0:
return x
else:
return -x

print(my_abs(-3))

导入函数

已经把my_abs()的函数定义保存为abstest.py

from abstest import my_abs abstest是文件名 my_abs是函数名

pass 什么都不做

def nop():
pass

age=12
if age>=18:
pass

isinstance()函数 判断一个对象是否是一个已知的类型

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(-52))

多返回值实际返回tuple

import math : 导入这个math模块,就可以用模块里面的一些做数学运算的函数了。

math.sqrt(x):就是使用math中的sqrt()函数的方法,是求x的算术平方根。

注释快捷键: 选中+ctrl+/,代码选中的条件下,同时按住ctrl+/,被选中行被注释,再次按下Ctrl+/ ,注释被取消

函数的参数 默认参数

def power(x,n=2):
    s=1
    while n>0:
        n=n-1
        s=s*x
    return s

print(power(3))  #默认参数,n=2
print(power(3,3)) # n=3


def enroll(name, gender, age=6, city='Beijing'):
    print('name:', name)
    print('gender:', gender)
    print('age:', age)
    print('city:', city)

print(enroll("zhangsan",7))
print(enroll("lisi",8,city="nanjing"))

定义可变参数 将参数作为list 或者tuple传入

def calc(numbers):
    sum=0
    for n in numbers:
        sum=sum+n*n
    return sum
print(calc([1,2,3]))
print(calc((1,2,3)))

改为可变参数

def calc(*numbers):
    sum=0
    for n in numbers:
        sum=sum+n*n
    return sum
print(calc(1,2,3))

nums=[1,2,3]
print(calc(*nums))

*nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。

关键字参数:

def person(name, age, **kw):
print(‘name:’, name, ‘age:’, age, ‘other:’, kw)

# *args是可变参数,args接收的是一个tuple;

# ** kw是关键字参数,kw接收的是一个dict。

递归函数 一个函数在内部调用自身本身,这个函数就是递归函数

def fact(n):
    if n==1:
        return 1
    return n*fact(n-1)

print(fact(5))