Day9 字符串占位符及函数基础
-
字符串占位符
- 格式化字符串: 格式占位符
-
语法: 包含格式占位符的字符串 % (数据1, 数据2, …)
-
说明: 括号中数据的个数需要和格式占位符的个数保持一致
-
格式占位符:
%s - 任何类型数据
%d - 整数以及可以转换成整数的数据
%f - 浮点数; %.Nf - 保留N位小数message = '%s今年%d岁' %(name, age) print(message)
-
%s可以使用任意类型的数据填充(如果只有一个数据’()'可以省略)
message = '名字: %s' %['张三','李四'] print(message) message = '月薪: %.2f' % 10.578 print(message)
-
格式化字符串: f-string (字符串.format())
message = f'{name}今年{age}岁' print(message) message = f'a:{[10,20,30][-1]}' print(message)
-
{表达式:.Nf} - 控制保留N位小数
message = f'a:{1.23442:.4f}' print(message)
-
{表达式:,}(固定三位一组,用于银行数据)
money = 1023581293 message = f'金额:{money:,}' print(message)
-
{表达式:.N%}
num = 0.56 message = f'毛利率:{num:.2%}' print(message)
-
-
-
函数
-
什么是函数
- 函数就是实现某一特定功能的代码的封装
-
函数的分类 (根据函数是由谁创造(定义)的来分类)
- 系统函数(别人造好的机器) - python自带的函数,程序只需要在需要的时候调用.例如:print、input、type、max…
- 自定义函数(自己造机器) - 由程序自己定义的函数
-
定义函数(自己造机器)
-
语法:
def 函数名(形参列表):
函数说明文档
函数体 -
说明:
def - 关键字;固定写法
函数名 - 程序员自己命名
要求: 是标识符、不能是关键字
规范: 见名知义、字母都小写,多个单词之间用下划线隔开、不使用系统名字
(): - 固定写法
形参列表 - 以’变量名1, 变量名2, 变量名3,…'的形式存在,变量也可以一个都没有.(此处的每个变量都是一个形参)
形参的作用: 将函数外部的数据传递到函数内部
一个函数是否需要形参, 需要几个形参, 就看实现这个函数功能是否需要额外数据, 需要几个额外的数据
函数说明文档 - 本质是一个文档注释(相当于机器的说明书)
函数体 - 和def保持一个缩进的一条或者多条语句
函数体就是实现函数功能的代码段 -
初学者定义的步骤:
-
确定函数功能
-
根据函数功能确定函数名字
-
确定形参(看实现这个函数的功能是否需要额外数据, 以及需要几个额外数据)
-
实现函数功能(写函数体)
-
写函数说明文档
# 练习: 写一个函数:求任意两个数的和 # 练习: 写一个函数:提取指定字符串中中文的个数 # 练习: 写一个函数:将列表中的元素逆序 # 练习: 写一个函数:判断指定的数是否是水仙花数 def sum1(num1,num2): ''' 求两个数的和(功能说明区) :param num1:int或者float,第一个数(参数说明) :param num2: 第二个数 :return: None(返回值说明) ''' print(num1 + num2) def get_cn(str1): ''' 提取字符串中的文本 :param str1: 被提取的字符串 :return: None ''' # for x in str1: print(''.join(x for x in str1 if '\u4e00' <= x <= '\u9fa5')) def list_reverse(list1): ''' 将指定列表逆序 :param list1: 被逆序的列表 :return: None ''' list1.reverse() return list1 def is_daffodil(num1): ''' :param num1: :return: ''' num_str = str(num1) if len(num_str)
-
-
-