人生苦短,我学python day09 格式字符串和函数基础1

一、格式字符串

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
    
上一篇:Day09_44_Set集合_SortedSet01


下一篇:day09_流程控制