python 基础方法与函数
分类 | 方法 | 说明 |
format 函数 |
python中format 函数用于字符串的格式化 |
分类 | 方法 | 说明 |
精度控制 :.nf |
print('{关键字1}{关键字2}'.format(关键字1,关键字2)) |
通过关键字 |
print('{0}在{1}'.format('某某人','写代码')) |
通过位置 | |
print('{:^30}'.format("zhangsan")) |
居中对齐 填充和对齐^<>分别表示居中、左对齐、右对齐,后面带宽度 | |
print('{:>30}'.format("zhangsan")) |
右对齐 填充和对齐^<>分别表示居中、左对齐、右对齐,后面带宽度 | |
print('{:<30}'.format("zhangsan")) |
左对齐 填充和对齐^<>分别表示居中、左对齐、右对齐,后面带宽度 | |
print('{:.2f}'.format(3.14159)) |
保留两位小数,两位后四舍五入 | |
print('{:.5f}'.format(3.14)) |
保留5位小数,不足补0. | |
print('{:b}'.format(20)) |
进制转化,b o d x 分别表示二、八、十、十六进制 | |
print('{:o}'.format(20)) |
进制转化,b o d x 分别表示二、八、十、十六进制 | |
print('{:d}'.format(20)) |
进制转化,b o d x 分别表示二、八、十、十六进制 | |
print('{:x}'.format(20)) |
进制转化,b o d x 分别表示二、八、十、十六进制 |
分类 | 方法 | 说明 |
千位分隔符::, |
print('{:,}'.format(100000000)) |
插入千分号分隔符 |
print('{:,}'.format(123456.123456)) |
插入千分号分隔符 |
eval函数 | 将字符串当成有效表达式来求值并返回计算结果 |
在开发时不要使用eval()函数直接转换input的结果 | |
# 基本的数学计算 | print(eval("1 + 1")) # 2 |
# 字符串重复 | print(eval("'*' * 10")) # ********** |
# 将字符串转换成列表 | print(type(eval("[1, 2, 3, 4, 5]"))) # <class 'list'> |
# 将字符串转换成字典 | print(type(eval("{'name': 'xiaoming', 'age': 18}"))) # <class 'dict'> |
lambda 函数介绍 |
有时在使用函数时不需要给函数分配一个名称,该函数就是 “匿名函数”。在Python中使用lambda表达式表示匿名函数 |
lambda 函数与 def 函数的区别 |
lambda 可以立刻传递(无需变量) ,自动返回结果; |
lambda 在内部只能包含一行代码 ; |
|
lambda 是一个为编写简单的函数而设计的,而 def 用来处理更大的任务; |
|
lambda 可以定义一个匿名函数,而 def 定义的函数必须有一个名字。 |
|
lambda 函数的优势: |
对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁;对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能。 |
format 函数案例
通过关键字
print('{name}在{option}'.format(name="某某人",option="写代码"))
通过位置
print('name={} path={}'.format('zhangsan', '/') print('{1}在{0}'.format('写代码','某某人')) print('{0}在{1}'.format('某某人','写代码'))
lambda 函数案例
- 定义加法函数
# def函数写法 def add(a, b): return a + b print(add(10, 20)) print("----------这是一个分割线----------") # lambda函数写法 add_lambda = lambda a, b: a + b print(add_lambda(10, 20))
- 使用if判断奇偶性
# def函数写法 def get_odd_even(x): if x % 2 == 0: return "偶数" else: return "奇数" print(get_odd_even(10)) print("----------这是一个分割线----------") # lambda函数写法 get_odd_even1 = lambda x: "偶数" if x % 2 == 0 else "奇数" print(get_odd_even1(10)) print(get_odd_even1(9))
- 无参数表达式
# def函数写法 def test1(): return "Python YYDS!!!" print(test1()) print("----------这是一个分割线----------") # lambda函数写法 test2 = lambda: "Python YYDS!!!" print(test2())
- 列表排序
map
方法混搭(常用):(遍历序列,对序列中每个元素进行操作,最终获得新的序列)
# def函数写法 def add(num): return num ** 2 x = map(add, [1, 2, 3, 4, 5]) print(list(x)) print("----------这是一个分割线----------") # lambda函数写法 y = map(lambda num: num ** 2, [1, 2, 3, 4, 5]) print(list(y))