【Python】第008课,,定义函数,,组合数公式:用模块管理函数,,标准库中的模块和函数

目录

定义函数

组合数公式:

用模块管理函数

标准库中的模块和函数


定义函数

 

  1. 在Python中可以使用def关键字来定义函数,和变量一样每个函数也应该名字。
  2. 在函数名后面的圆括号中可以放置传递给函数的参数,而函数执行完成后我们会通过return关键字来返回函数的执行结果。
  3. 一个函数要执行的代码块(要做的事情)也是通过缩进的方式来表示的,跟之前分支和循环结构的代码块是一样的。
  4. 大家不要忘了def那一行的最后面还有一个:

那么通过下面的Python代码我们就可以计算出组合数C(M,N)的值,代码如下所示。

 

def fac(num):
    result =1
    for n in range(1,num+1):
        result*=n
    return result
m=int(input("m="))
n=int(input("n="))
print(fac(m)//fac(n)//fac(m-n))
D:\装机软件\python\python.exe "D:/python code2020/test01/J阶乘.py"
m=7
n=3
35

Process finished with exit code 0

组合数公式:

组合数公式是指从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做n个不同元素中取出m个元素的组合数。用符号c(n,m) 表示。

                                  c(n,m) =m!/(n!(m-n)!)

参数的默认值

如果函数中没有return语句,那么函数默认返回代表空值的None。另外,在定义函数时,函数也可以没有自变量,但是函数名后面的圆括号是必须有的。Python中还允许函数的参数拥有默认值,

用模块管理函数

因为我们会遇到命名冲突这种尴尬的情况。最简单的场景就是在同一个.py文件中定义了两个同名的函数

Python中每个文件就代表了一个模块(module),我们在不同的模块中可以有同名的函数,在使用函数的时候我们通过import关键字导入指定的模块再使用完全限定名的调用方式就可以区分到底要使用的是哪个模块中的foo函数,

module1.py

def foo():
    print('hello, world!')

module2.py

def foo():
    print('goodbye, world!')


test.py

import module1
import module2

# 用“模块名.函数名”的方式(完全限定名)调用函数,
module1.foo()    # hello, world!
module2.foo()    # goodbye, world!

在导入模块时,还可以使用as关键字对模块进行别名,这样我们可以使用更为简短的完全限定名。

test.py

import module1 as m1
import module2 as m2

m1.foo()    # hello, world!
m2.foo()    # goodbye, world!

我们也可以使用from...import...语法从模块中直接导入需要使用的函数,代码如下所示。

test.py

from module1 import foo

foo()    # hello, world!

from module2 import foo

foo()    # goodbye, world!



D:\装机软件\python\python.exe "D:/python code2020/test01/h函数3.py"
hello, world!
goodbye, world!

Process finished with exit code 0

如果我们如果从两个不同的模块中导入了同名的函数,后导入的函数会覆盖掉先前的导入,就像下面的代码中,调用foo会输出hello, world!,因为我们先导入了module2foo,后导入了module1foo 。如果两个from...import...反过来写,就是另外一番光景了。

from module2 import foo
from module1 import foo

foo()    # hello, world!

D:\装机软件\python\python.exe "D:/python code2020/test01/h函数3.py"
goodbye, world!
goodbye, world!

Process finished with exit code 0

如果想在上面的代码中同时使用来自两个模块中的foo函数也是有办法的,还是用as关键字对导入的函数进行别名,代码如下所示。

from module1 import foo as f1
from module2 import foo as f2

f1()    # hello, world!
f2()    # goodbye, world!

D:\装机软件\python\python.exe "D:/python code2020/test01/h函数3.py"
hello, world!
goodbye, world!

Process finished with exit code 0

标准库中的模块和函数

函数说明
abs返回一个数的绝对值,例如:abs(-1.3)会返回1.3
bin把一个整数转换成以'0b'开头的二进制字符串,例如:bin(123)会返回'0b1111011'
chr将Unicode编码转换成对应的字符,例如:chr(8364)会返回'€'
hex将一个整数转换成以'0x'开头的十六进制字符串,例如:hex(123)会返回'0x7b'
input从输入中读取一行,返回读到的字符串。
len获取字符串、列表等的长度。
max返回多个参数或一个可迭代对象(后面会讲)中的最大值,例如:max(12, 95, 37)会返回95
min返回多个参数或一个可迭代对象(后面会讲)中的最小值,例如:min(12, 95, 37)会返回12
oct把一个整数转换成以'0o'开头的八进制字符串,例如:oct(123)会返回'0o173'
open打开一个文件并返回文件对象(后面会讲)。
ord将字符转换成对应的Unicode编码,例如:ord('€')会返回8364
pow求幂运算,例如:pow(2, 3)会返回8pow(2, 0.5)会返回1.4142135623730951
print打印输出。
range构造一个范围序列,例如:range(100)会产生099的整数序列。
round按照指定的精度对数值进行四舍五入,例如:round(1.23456, 4)会返回1.2346
sum对一个序列中的项从左到右进行求和运算,例如:sum(range(1, 101))会返回5050
type返回对象的类型,例如:type(10)会返回int;而 type('hello')会返回str

课程链接::https://pan.baidu.com/s/10y7sGM016YBM7gDdauGqLw,密码:4s6r,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值