一、格式字符串
1、r语法
-
python中可以在字符串的最前面(引号前)加r/R,来阻止字符串中的转义字符转移
-
r可以让字符串中的转义字符都变成普通字符
str1 = '\tabc\n123' str2 = r'\tabc\n123' str3 = '\\tabc\n123' print(str1, str2, str3)
2、格式字符串
-
name = input('请输入姓名:') age = int(input('请输入年龄:')) message = 'xxx今年xx岁!'
-
方法一:字符串拼接
-
方法二:%格式字符串
-
语法:包含格式占位符的字符串 % (数据1,数据2,数据3,…) - 数据要和占位符一一对应
-
占位符:%s - 字符串占位符(可以用任何数据来赋值) %d - 整型字符串(只能是数字,填充的时候自动转换成整数)%f - 浮点数(只能是数字),默认6位小数,%.Nf - 保留N位小数(四舍五入)
message2 = '%s今年%d岁!' % (name, age) print(message2)
-
-
方法三:f-String
-
message3 = f'{name}今年{age}岁!' print(message3)
-
控制小数位数 - {数据:.Nf},控制数据保留N位小数
result = f'数字1:{1.234:.2f}' print(result) # 数字1:1.23
-
控制数据长度 - {数据:填充字符,>填充在左边,<填充在右边},将数据转换成指定长度的字符串,不够的用指定字符填充在左边或者右边,^ - 填充两边
num = 23 result = f'学号:{num:0>4d}' print(result) # 学号:0023
-
填充百分比的形式,{数据:.N%} - 将小数转换为百分比,同时数字保留N位小数
num = 0.2567 result = f'及格率:{num:.2%}' print(result) # 及格率:25.67%
-
逗号分割
num = 1800000000000 result = f'余额:{num:,}' print(result) # 余额:1,800,000,000,000
-
二、函数的概念
1、函数的作用
- 避免同样的功能在每一次需要使用的时候代码要重复写代码
- 避免当需要修改程序中的某段代码的时候,需要在整个程序中所有的地方需要改的地方都要修改
2、函数的概念
-
定义(什么是函数):函数就是对实现某一特定功能的代码的封装(函数的本质就是功能,不同的函数有着不一样的功能)
-
函数的分类
-
系统函数:python已经定义好的函数,程序员只需要在需要会用这些功能的时候调用就行了
-
自定义函数:程序员自己定义的函数
def sum100(): sum1 = 0 for x in range(101): sum1 += x print(sum1)
-
3、函数的定义(造机器)
- 语法:
def 函数名(形参列表):
函数体
函数说明文档(一般写在最后) - 说明:
- def - 关键字;固定写法
- 函数名 - 程序员自己定义命名的;两个要求,三个规范
是标识符,不能是关键字;
所有字母都是小写,单词之间用下划线隔开,
见名知义(看到函数名大概知道函数的功能)
不使用系统的函数名、类名和模块名 - (): - 固定写法
- 形参列表 -
- a.以’变量1,变量2,变量3,…’ 的形式存在,也可以没有
- b.形参的作用是将函数外面的数据传道函数里面,定义函数的时候需不需要形参,需要几个看实现函数的功能需不需要额外的数据需要几个
- 函数说明文档 - 相当于说明书,用来辅助别人更方便的来使用当前函数; 用""""""引起来的注释(可有可无)
- 函数体 - 和def保持一个缩进的一条或者多条语句;函数体就是实现函数功能的代码段(核心)
4、函数的调用
-
定义函数的时候不会执行函数体;调用函数的时候函数体才会执行!
-
调用函数(使用机器)
-
语法:函数名(实参列表)
-
说明:
- 函数名:需要使用的函数的名字(这个函数名必须是已经定义过的函数的函数名)
- 实参列表:多个数据用逗号隔开;具体的个数看对应的函数的形参的个数;实参就是在使用函数的时候通过形参具体传递到函数内部的数据
-
函数调用过程:
第1步:回到定义的位置
第2步:传参(用实参给形参赋值,保证每个参数都有值)
第3步:执行函数体
第4步:执行完函数体回到函数调用的位置接着往后执行
-
-
练习1:写一个函数,求两个函数的和
def sum2(x, y): """ (功能说明区)求指定两个数的和 :param x: 需要求和的数字中的第一个数字 :param y: 需要求和的数字中的第二个数字 :return: (返回值说明) """ print(x+y)
-
练习2:写一个函数求一个整数的阶乘
def factorial(num): result = 1 for x in range(2, num+1): result *= x print(f'{num}!={result}') factorial(5) # 5!=120
-
练习3:写一个函数,将指定字符串中指定的字符全部删除
def del_char(str0, char0): # 方法一: # str1 = '' # for x in str0: # if x != char0: # str1 += x # 方法二: str1 = ''.join([x for x in str0 if x != char0]) print(str1) del_char('abcd123', 'b') # acd123
-
练习4:写一个函数,统计一个字典中指定值的个数
def count_value(dict0, value): count_value_result = 0 for key in dict0: if dict0[key] == value: count_value_result += 1 print(count_value_result) count_value({'a': 1, 'b': 2, 'c': 1}, 1) # 2