day 9 note 格式字符串 和 函数基础

day 9 note 格式字符串 和 函数基础

01. 格式字符串

1. r语法

python中可以在字符串的最前面(引号前)加 r/R ,来阻止字符串中的转义字符转义

r可以让字符串中的转义字符都变成普通字符


str1 = '\tabc\n123'
print(str1)

str2 = r'\tabc\n123'
print(str2)                 # \tabc\n123

path = R'c:\\prog\name\yuting\xuexi\aa.txt'
print(path)

2. 格式字符串
name = input('请输入姓名:')

name = '小明'

age = int(input('请输入年龄:'))

age = 18
money = 18

完成以下格式的message

message = 'xxx今年xx岁!月薪xxK!'

方法一:字符串拼接

message = name+'今年'+str(age)+'岁!月薪'+str(money)+'K!'
print(message)


方法二:%格式字符串

1)语法: 包含格式占位符的字符串 % (数据1, 数据2, 数据3,…) - 数据要和占位符一一对应

2)占位符

%s - 字符串(可以用任何数据来赋值)

%d - 整数(只能是数字,填充的时候自动转换成整数)

%f - 浮点数(只能是数字),默认有6位小数, %.Nf - 保留N位小数,保留小数的时候采用四舍五入的方式

message = '%s今年%d岁!月薪%dK!' % (name, age, money)
print(message)

str3 = '%.2f-' % (29.2899)
print(str3)

方法三: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)

02. 函数基础

1.函数的概念

1)定义(什么是函数):函数就是对实现某一特定功能的代码的封装。(函数的本质其实就是功能,不同的函数有不一样的功能)

2)函数的分类:
(别人造好的机器)系统函数: python已经定以好的函数,程序员只需要在需要这些函数功能的时候调用就行了。例如:print、input、type、id、hex、sum、max、…
(自己造机器)自定义函数: 程序员自己定义的函数

2.函数的定义(造机器)

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

说明:

1)def - 关键字;固定写法

2)函数名 - 程序员自己命名的; 是标识符,不能是关键字;
所有字母都小写,单词之间用下划线隔开
见名知义(看到函数名大概知道这个函数的功能)
不使用系统的函数名、类名和模块名

3)( ): - 固定写法

4)形参列表 - a. 以 ‘变量1, 变量2, 变量3,…’ 的形式存在,也没有形参;
b. 形参的作用是将函数外面的数据传递到函数里面,定义函数的时候需不需要形参,
需要几个,看实现函数的功能需不需要额外的数据需要几个

5)函数说明文档 - 相当于机器的说明书,用来辅助别人更方便的取使用当前函数;
用三个双引号引起来的注释(不是一定要写)
6)函数体 - 和def保持一个缩进的一条或者多条语句;
函数体就是实现函数功能的代码段(核心)

写一个函数,求两个数的和

def sum2(num1, num2):
    """
    (功能说明区)求指定两个数的和
    :param num1: 要求和的数字中的第1个数字
    :param num2: 要求和的数字中的第2个数字
    :return: (返回值说明)
    """
    print(num1 + num2)


sum2(10, 20)
sum2(100, 200)

练习1:写一个函数求一个整数的阶乘

N! = 1*2*3*4*...(N-1)*N

def factorial(n):
    sum1 = 1
    for x in range(1, n+1):
        sum1 *= x
    print(f'{n}!是:{sum1}')


factorial(5)
factorial(8)
factorial(10)

练习2:写一个函数,将指定字符串中指定的字符全部删除

def del_char(string, char):
    # 方法一:
    new_str = ''
    for x in string:
        if x != char:
            new_str += x
    print(new_str)
    # 方法二:
    # new_str = ''.join([x for x in string if x != char])
    # print(new_str)


del_char('how are you?', ' ')
del_char('how are you?', 'o')

练习3:写一个函数,统计一个字典中指定值的个数

def value_count(dic, value):
    count = 0
    for x in dic:
        if dic[x] == value:
            count += 1
    print(count)


value_count({'a': 10, 'b': 20, 'c': 10}, 20)
3. 函数的调用

(重要!)定义函数的时候不会执行函数体;调用函数的时候函数体才会执行!

1)调用函数(使用机器)
语法:
函数名(实参列表)

说明:
**函数名 - ** 需要使用的函数的名字(这个函数名必须是已经定义过的函数的函数名)
实参列表 - 多个数据用逗号隔开; 具体的个数看对应的函数的形参的个数
实参就是使用函数的时候通过形参具体传递到函数内部的数据

注意: 同一个函数可以调用多次

2)函数调用过程
第1步:回到函数定义的位置
第2步:传参(用实参给形参赋值, 保证每个参数都有值)
第3步:执行函数体
第4步:执行完函数体回到函数调用的位置接着往后执行
“”"

def sum2(num1, num2):
    # num1 = 1, num2 = 2
    print(num1 + num2)


sum2(1, 2)

def fun1():
    # list1 = [1, 2, 3]
    # print(list1[5])
    print('==========')


fun1()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值