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