目录

  • 1. 计算组合数C(7,3)
  • 2. 求最大公约数和最小公倍数
  • 3. Python的内置函数
  • 4. Python常用模块
  • 5. 函数的参数
  • 6. 函数的作用域
  • 总结

欢迎关注 『Python从入门到实战100天』 系列,持续更新中
欢迎关注 『Python从入门到实战100天』 系列,持续更新中

1. 计算组合数C(7,3)

先上组合公式

# 将求阶乘的功能封装成一个函数
def factorial(n):result = 1for num in range(1, n + 1):result *= numreturn resultprint(factorial(7) // factorial(3) // factorial(4))#// 表示整除


2. 求最大公约数和最小公倍数

辗转相除法
辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。
例如,求(319,377):
∵ 319÷377=0(余319)
∴(319,377)=(377,319);
∵ 377÷319=1(余58)
∴(377,319)=(319,58);
∵ 319÷58=5(余29)
∴ (319,58)=(58,29);
∵ 58÷29=2(余0)
∴ (58,29)= 29;
∴ (319,377)=29。
可以写成右边的格式。
用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。(来自百度百科)

def gcd(x, y):if x > y:(x, y) = (y, x)for factor in range(x, 1, -1):if x % factor == 0 and y % factor == 0:return factorreturn 1def lcm(x, y):return x * y // gcd(x, y)print(gcd(15, 27))
print(lcm(15, 27))


3. Python的内置函数

  • 数学相关: abs / divmod / pow / round / min / max / sum
  • 序列相关: len / range / next / filter / map / sorted / slice / reversed
  • 类型转换: chr / ord / str / bool / int / float / complex / bin / oct / hex
  • 数据结构: dict / list / set / tuple
  • 其他函数: all / any / id / input / open / print / type
#返回长度为6的内容
def myfilter(mystr):return len(mystr) == 6# help()
print(chr(0x53d1),chr(0x73b0),chr(0x4f60),chr(0x8d70),chr(0x8fdc))
print(hex(ord('发')),hex(ord('现')))
print(abs(-3.1415))#绝对值
print(round(-3.1415,1))#四舍五入保留1位
print(pow(3.1415, 5))#5次方
fruits = ['orange', 'peach', 'durian', 'watermelon']
print(fruits[slice(1, 3)])#得到 1 2 位置的水果
fruits2 = list(filter(myfilter, fruits))#filter是条件过滤,myfilter是一种规则,把fruits列表中长度为6的水果选中
print(fruits)
print(fruits2)#字符串长度为6的水果


4. Python常用模块

  • 运行时服务相关模块: copy / pickle / sys / …
  • 数学相关模块: decimal / math / random / …
  • 字符串处理模块: codecs / re / …
  • 文件处理相关模块: shutil / gzip / …
  • 操作系统服务相关模块: datetime / os / time / logging / io / …
  • 进程和线程相关模块: multiprocessing / threading / queue
  • 网络应用相关模块: ftplib / http / smtplib / urllib / …
  • Web编程相关模块: cgi / webbrowser
  • 数据处理和编码模块: base64 / csv / html.parser / json / xml / …
import time
import shutil
import osseconds = time.time()
print(seconds)#打印时间戳
localtime = time.localtime(seconds)
print(localtime)#time.struct_time(tm_year=2022, tm_mon=3, tm_mday=3, tm_hour=9, tm_min=21, tm_sec=24, tm_wday=3, tm_yday=62, tm_isdst=0)print("tm_year",localtime.tm_year)
print("tm_mon",localtime.tm_mon)
print("tm_mday",localtime.tm_mday)
asctime = time.asctime(localtime)
print(asctime)#Thu Mar  3 09:22:13 2022
strtime = time.strftime('%Y-%m-%d %H:%M:%S', localtime)
print(strtime)#格式化输出时间2022-03-03 09:22:32
mydate = time.strptime('2018-1-1', '%Y-%m-%d')
print(mydate)#打印指定时间 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=1, tm_isdst=-1)shutil.copy('hello.py', 'first.py')#用hello.py的内容替换掉first.py的内容 注意这里的2个文件要在同一目录下,或者你自己修改目录
#下面的四行初学者不太可能用到···
# os.system('ls -l')#打印当前目录内容
# # os.chdir('/Users/Hao')#转到某个路径的文件夹
# os.system('ls -l')#打印当前目录内容
# os.mkdir('test')#创建一个名为test的文件夹


随便新建2个py文件


5. 函数的参数

  • 位置参数
  • 可变参数
  • 关键字参数
  • 命名关键字参数

推荐这篇文章有更多具体的介绍
一篇文章学会def定义函数的可选参数,默认参数,有默认值的可选参数(保姆级注释)

# 参数默认值
def f1(a, b=5, c=10):return a + b * 2 + c * 3print(f1(1, 2, 3))
print(f1(100, 200))
print(f1(100))
print(f1(c=2, b=3, a=1))# 可变参数,可以输入任意数量参数
def f2(*args):sum = 0for num in args:sum += numreturn sumprint(f2(1, 2, 3))
print(f2(1, 2, 3, 4, 5))
print(f2())# 关键字参数
def f3(**kw):if 'name' in kw:print('欢迎你%s!' % kw['name'])elif 'tel' in kw:print('你的联系电话是: %s!' % kw['tel'])else:print('没找到你的个人信息!')param = {'name': '南黎', 'age': 38}
f3(**param)
f3(name='南黎', age=38, tel='12345678999')#name正确,不再执行elif的tel输出语句
f3(user='南黎', age=38, tel='12345678999')#只有tel正确
f3(user='南黎', age=38, mobile='12345678999')#name和tel都没有


6. 函数的作用域

# 局部作用域
def foo1():a = 5foo1()
# print(a)  # NameError# 全局作用域
b = 10def foo2():print("foo2",b)foo2()#打印10def foo3():b = 100     # 局部变量print("foo3内部",b)foo3()
print("foo3外部",b)def foo4():global bb = 200     # 全局变量print("foo4内部",b)foo4()
print("foo4外部",b)


总结

大家喜欢的话,给个

【Python从入门到实战100天】06. 函数和模块的使用(保姆级图文+实现代码)相关推荐

  1. 【Python从入门到实战100天】05. 总结和练习(保姆级图文+实现代码)

    目录 1. 输出乘法口诀表(九九表) 2. 输出2~99之间的素数 3. 找出1~9999之间的所有完美数 4. 找出100~999之间的所有水仙花数 5. 猜数字游戏 6. 输出斐波那契数列的前20 ...

  2. 【Python黑科技】常用的user_agent 浏览器头爬虫模拟用户(保姆级图文+实现代码)

    目录 1. 常用的浏览器请求头User-Agent 2. 随机获取一个浏览器头 3. 关于user_agent知识的介绍 一.基础知识篇: 1.浏览器标识 2.操作系统标识 3.加密等级标识 4.浏览 ...

  3. 【Python之pymysql库学习】二.游标cursor的相关知识(保姆级图文+实现代码)

    目录 读取的数据类型 读取的数据转为字典类型效果 读取的数据转为字典类型实现思路 读取的数据转为字典类型实现代码 关于游标的重置 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新 ...

  4. 【Python之pymysql库学习】三.sql语句的相关知识(保姆级图文+实现代码)

    目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 欢迎关注 『Python之pymysql库学习』 系列,持续更新中 实现效果 把给读取数据 ...

  5. 【Python黑科技】获取每日一句美句,并定时发送邮件到指定邮箱(保姆级图文+实现代码)

    目录 实现效果 实现思路 1.获取每日一句美句 2.定时发送需要接入时间模块 3.邮件发送 实现代码 总结 欢迎关注 『Python黑科技』 系列,持续更新中 欢迎关注 『Python黑科技』 系列, ...

  6. 【Python黑科技】tkinter库实战“贪吃蛇”小游戏(保姆级图文+实现代码)

    目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python黑科技』 系列,持续更新中 欢迎关注 『Python黑科技』 系列,持续更新中 实现效果 实现思路 初始状态的蛇的长 3个像素点,食物 ...

  7. 【Python黑科技】tkinter库实战制作一个记事本(保姆级图文+实现代码)

    目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python黑科技』 系列,持续更新中 欢迎关注 『Python黑科技』 系列,持续更新中 实现效果 实现思路 具有记事本的基本功能,可以另存为t ...

  8. 【Python黑科技】tkinter库实战“2048”小游戏(保姆级图文+实现代码)

    目录 实现效果 实现思路 接收玩家操作 实现代码 总结 欢迎关注 『Python黑科技』 系列,持续更新中 欢迎关注 『Python黑科技』 系列,持续更新中 实现效果 实现思路 按上下左右移动方块. ...

  9. 【Python黑科技】tkinter库实战“俄罗斯方块”小游戏(保姆级图文+实现代码)

    目录 实现效果 实现思路 实现代码 总结 欢迎关注 『Python黑科技』 系列,持续更新中 欢迎关注 『Python黑科技』 系列,持续更新中 实现效果 实现思路 空间――由 15*25 个空格组成 ...

最新文章

  1. 应用架构设计原则、模式摘录
  2. Zookeeper服务器集群的搭建与操作
  3. labview事件结构
  4. 团队项目:个人工作总结10
  5. 玩转iOS开发:NSURLSession讲解(三)
  6. 异步过程的自动化测试
  7. Linux上Libevent的安装
  8. web动画_Web动画简介
  9. 大专学的pHp找什么工作,大专毕业能做什么工作 毕业都去干嘛了
  10. windows环境下memcache服务器使用经验
  11. 漫画:一位文科生的编程之路。
  12. Scipy 基础 —— 稀疏矩阵
  13. js window对象常用内容
  14. MyBatis:Pagehelper分页
  15. C语言新手入门可执行代码(加备注)
  16. win10内置ubuntu, “指定的网络名不再可用”解决办法
  17. nginx 代理 负载均衡 网站转接的用法
  18. 【VREP】四舵轮(or n舵轮)自旋与平移融合运动解算
  19. 瑞萨 RA MCU 基础知识
  20. 亮剑精神--亮码精神

热门文章

  1. 华为云服务器是什么操作系统,云服务器操作系统是什么系统
  2. 通过电脑给linux开发板联网,Linux 开发板通过网线连电脑上网的方法和配置步骤...
  3. element table合并单元格
  4. 工控危险 施耐德PLC产品现高危漏洞
  5. 最长公共子序列长度的四种解法
  6. influxDB 基础了解
  7. 修改HDFS上的文件权限
  8. C++ make_shared
  9. mysql中的EXISTS用法简介
  10. jQuery中的Ajax(基本语法、Ajax面试题、 layUI的方法级渲染)