匿名函数,常用内置函数,软件开发目录规范,for循环内部本质

1.什么是匿名函数,如何使用

没有名字的函数
语法:lambda 参数: 表达式
def add(x):
     return x + x
相当于
add = lambda x: x + x
调用add()

2.常用内置函数及各自主要功能

1.数据强制类型转换
2.进制转换
3.数学运算
  a.取绝对值abs()
  b.商和余数 divmod-->divmod(被除数,除数)-->得到一个元组第一个上商,第二个是余数
  c.四舍五入 round
  d.幂次方pow(2, 4)
  e.求和sum(可迭代类型)
  f.最小值min(可迭代类型)
  g.最大值max(可迭代类型)
  h.复数转换-->complex(3, 4)-->得到的结果-->(3+4j)
4.数据结构
  a.翻转 reversed
  b.切片 slice
  c.计算长度len()
  d.排序sorted
  e.枚举函数enumerate(可迭代类型)--->可以得到索引以及数据
5.字符串相关
(1)format
居中对齐--》print(format(s, '^20'))
左对齐--》print(format(s, '<20'))
右对齐--》print(format(s, '>20'))
(2)进制转换
print(format(3, 'b'))  # 二进制:11
print(format(97, 'c'))  # 转换成unicode字符:a
print(format(11, 'd'))  # ⼗进制:11
print(format(11, 'o'))  # 八进制:13
print(format(11, 'x'))  # 十六进制(⼩写字母):b
print(format(11, 'X'))  # 十六进制(大写字母):B
print(format(11, 'n'))  # 和d⼀样:11
print(format(11))  # 和d⼀样:11
print(format(123456789, 'e'))  # 科学计数法. 默认保留6位小数:1.234568e+08
print(format(123456789, '0.2e'))  # 科学计数法. 保留2位小数(小写):1.23e+08
print(format(123456789, '0.2E'))  # 科学计数法. 保留2位小数(大写):1.23E+08
print(format(1.23456789, 'f'))  # 小数点计数法. 保留6位小数:1.234568
print(format(1.23456789, '0.2f'))  # 小数点计数法. 保留2位小数:1.23
print(format(1.23456789, '0.10f'))  # 小数点计数法. 保留10位小数:1.2345678900
print(format(1.23456789e+3, 'F'))  # 小数点计数法. 很大的时候输出INF:1234.567890
(3)转换成字节码bytes
print(bytes('hello world', 'utf-8'))  # b'hello world'
print(bytes('你好', 'utf-8'))  # b'\xe4\xbd\xa0\xe5\xa5\xbd'
​
(4)获取字节数组
ret = bytearray("dream", encoding='utf-8')
print(ret[0])
# 100
(5)返回对象的字符串格式(repr)
word = "今天\n吃了%s顿\t饭" % 3
print(word)
6.字符编码相关
(1)根据字符编码找数字 ---》 去ASCII码表中查数据
print(ord('a'))
# 字母a在编码表中的码位:97
​
print(ord('中'))
# '中'字在编码表中的位置:20013
(2)根据数字找字符编码 ---》 去ASCII码表中查数据
print(chr(65))
# 已知码位,求字符是什么:A
​
print(chr(19999))
# 丟
​
(3)ascii() 是ascii码中的返回该值 不是就返回u
for i in range(65536):  #打印出0到65535的字符
    print(chr(i), end=" ")
​
print(ascii("@"))  #'@'
7.输入输出函数
input(),print()
8.算法
hash : 不可变数据类型
9.文件操作open()
10.导入模块import
11.帮助函数help()
12.调度函数callable(name)
13.dir方法
14.异步迭代函数(aiter)  废弃
15.next异步变体(anext) 废弃

3.软件开发目录规范

软件开发目录规范可以按照不同需求而定,这里提供一种常用的目录结构作为参考:
​
├── bin                    # 存放可执行文件 
├── build                  # 存放编译输出文件 
├── docs                   # 存放文档
│   ├── api                # 存放 API 文档
│   ├── manual             # 存放用户手册、安装/配置说明等
│   └── release_notes      # 存放版本发布说明
├── src                    # 存放源代码
│   ├── lib                # 存放库文件
│   ├── module             # 存放系统模块
│   └── main.cpp           # 主程序入口文件
├── test                   # 存放单元测试文件
├── tools                  # 存放开发用的工具
├── vendor                 # 存放第三方依赖库或插件
├── LICENSE                # 存放软件许可证
├── README.md              # 存放项目介绍
└── TODO.md                # 存放未来工作计划
各文件夹的功能如下:
​
bin:
存放可执行文件,例如编译后生成的可执行文件、命令行工具等。
build:
存放编译器生成的中间文件和输出文件,例如目标文件、库文件、可执行文件等。
docs:
存放项目文档,包括 API 文档、用户手册、安装/配置说明、版本发布说明等。
src:
存放源代码文件,包括库文件和系统模块,主程序入口文件等。
test:
存放测试用例文件,用于单元测试和功能测试。
tools:
存放开发用的工具,例如脚本、编译器、代码生成工具等。
vendor:
存放第三方依赖库或插件,例如引用的外部库和框架组件。
LICENSE:
存放软件许可证,说明本软件的使用、修改和分发条件。
README.md:
存放项目介绍,包括项目简介、安装说明、使用说明等。
TODO.md:
存放未来工作计划,即将要完成和实现的功能。

4.for循环内部本质是什么

for循环是一种迭代方法,用于遍历指定序列中的每个元素,将每个元素赋值给循环变量,然后在每次循环中执行代码块。
for循环的本质是迭代器,它会通过调用可迭代对象的__iter__()方法创建一个迭代器对象,并反复调用迭代器对象的__next__()方法来遍历序列。
​
for循环过程中,首先使用__iter__()方法创建迭代器对象,然后向该迭代器对象请求下一个值。
每次迭代都会调用迭代器对象的__next__()方法,直到迭代器引发一个StopIteration异常,表明已经到达序列的末尾。
而在Python内部,for循环只是迭代器的语法糖,它隐藏了许多底层细节,使代码更加简单和易读。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值