格式运算符的介绍

day 9 summary

1.格式运算符

  1. 格式化字符串:格式占位符
    语法:包含格式占位符的字符串 % (数据1, 数据2…)
    说明:括号中的数据的个数需要要格式占位符的个数保持一致
    格式占位符:
    %s - 字符串(任何类型的数据)
    %d - 整数
    %f - 浮点数 %.Nf -保留N位小数
# 'xxx今年xx岁'
name = input('请输入姓名')
age = int(input('请输入年龄:')
message = name + '今年' +str(age) + '岁'
print(message)

# 1) %s可以使用任意类型的数据填充(如果只有一个数据()可以省略)
message = '名字:%s' % ['张三', '李四']
print(message)

message = '月薪:%.2f元' % 10005.578
print(message)

# 2.格式化字符串:f-string  (字符串.format())
# f'包含{任何有结果的表达式}的字符集'
message = f'{name}今年{age}岁'
print(message)

message = f'a:{100 + 200}, b:{10 * 20}'
print(message)   # a:300, b:200

message = f'a:{[10, 20, 30][-1]}'
print(message)

# 1) {表达式:.Nf}  - 控制保留N位小数
num = 1.234
message = f'a:{num:.2f}'
print(message)

# 2) {表达式:,}
money = 10200010
message = f'金额:{money:2,}'
print(message)

# 3){表达式:.N%}
num = 0.56
message = f'毛利率:{num:.2%}'
print(message)

2.函数的运用

没有函数会出现的问题:代码冗余(明明相同的代码,需要写多遍)

例如:1*2*3*4*...*10
# sum1 = 1
# for x in range(1, 11):
#     sum1 *= x
# print(f'10的阶乘是:{sum1}')    # xxx的阶乘是:xxxx
#
# # 1*2*3*...*8
# sum1 = 1
# for x in range(1, 9):
#     sum1 *= x
# print(f'8的阶乘是:{sum1}')
#
# # 1*2*3*..*13
# sum1 = 1
# for x in range(1, 14):
#     sum1 *= x
# print(f'13的阶乘是:{sum1}')


def factorial(num):
    sum1 = 1
    for x in range(1, num+1):
        sum1 *= x
    print(f'{num}的阶乘是:{sum1}')


factorial(10)
factorial(8)
factorial(13)
factorial(7)
factorial(5)

num = 1.234
message = f'a:{num:.2f}'
print(message)   #a:1.23

money = 10200010
message = f'金额:{money:,}'
print(message)

num = 0.56
message = f'毛利率:{num:2,}'
print(message)


3.函数基础

  1. 什么是函数
    “”"
    函数就是实现某一特定功能的代码的封装。
    “”"

  2. 函数的分类(根据函数是由谁创造(定义)的来分的类)

“”"
系统函数(别人造好的机器) - python自带的函数,程序只需要在需要的时候调用。例如:print、input、type、max、min、…
自定义函数(自己造机器) - 由程序自己定义的函数
“”"

3.定义函数(自己造机器)

“”"
语法:
def 函数名(形参列表):
函数说明文档
函数体

说明:
def - 关键字;固定写法
函数名 - 程序员自己命名
要求:是标识符、不能是关键字
规范:见名知义(看到函数名大概知道函数的功能)、字母都小写,多个单词之间用下划线隔开、不使用系统名字
(): - 固定写法
形参列表 - 以’变量名1, 变量名2, 变量名3,…'的形式存在,变量也可以一个都没有。(这儿的一个变量就是一个形参)
形参的作用: 将函数外部的数据传递到函数内部
一个函数需不需要形参,需要几个形参,就看实现这个函数的功能需不需要额外的数据,需要几个额外的数据。
函数说明文档 - 本质就是文档注释(相当于机器的说明书)
函数体 - 和def保持一个缩进的一条或者多条语句
函数体就是实现函数功能的代码段

初学者定义的步骤:
第一步:确定函数功能
第二步:根据函数功能确定函数名
第三步:确定形参(看实现这个函数的功能需不需要额外的数据,需要几个额外的数据。)
第四步:实现函数功能,这个时候将形参当场对应的数据来数据(写函数体)
第五步:写函数说明文档
“”"

 求两个数的和(功能说明区)
    :param num1: int或者float, 第一个数 (参数说明)
    :param num2: 第二数
    :return: None(返回值)
    """
    print(num1 + num2)


# 练习2:写一个函数提取指定字符串中的中文
def get_chinese(str1):
    #  str1 = 'hello 你好!'
    """
    提取字符串中的文本
    :param str1: 被提取的字符串
    :return: None
    """
    print(''.join(x for x in str1 if '\u4e00' <= x <= '\u9fa5'))


# 练习3:写一个函数将列表中的元素逆序
def reverse_list(list1):
    """
    将指定列表逆序
    :param list1: 被逆序的列表
    :return: None
    """
    print(list1[::-1])


# 练习4:写一个函数判断指定的数是否是水仙花数。(三位数各个位上的数的立方和等于它本身)
def is_daffodil_num(num):
    num_str = str(num)
    if len(num_str) != 3:
        print(False)
    else:
        sum1 = 0
        for x in num_str:
            sum1 += int(x)**3
        if sum1 == num:
            print(True)
        else:
            print(False)

  1. 调用函数(使用机器)
    “”"
    特点重要的结论:定义函数的时候不会执行函数体, 调用函数才会执行函数体

语法:
函数名(实参列表)

说明:
函数名 - 必须是已经定义过的函数的函数名
() - 固定写法
实参列表 - 以’数据1, 数据2, …'的形式存在。这儿的每个数据就是一个实参,实参是用来给形参赋值

函数调用过程(非常重要!):
第一步:回到函数定义的位置
第二步:传参(用实参给形参赋值, 传参的时候必须保证每个参数都有值)
第三步:执行函数体
第四步:确定函数返回值
第五步:回到函数调用的位置,接着往后执行
“”"

str2 = ‘hello 你好!’
get_chinese(str2)

同一个函数可以调用多次

sum2(20, 90)
sum2(100, 99)

def func():

print(’======’)

print(’--------’)

print(‘abc’[10])

print(‘end!’)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值