字符串和函数

一.字符串格式化

例子:

name='小明'
age=18
# 输出:小明今年18岁了!
1. 字符串拼接
str1=name+'今年'+str(age)+'岁了!'
2. 字符串格式占位符
'''
%s - 字符串占位符,可以对应任何能转换成字符串的数据
%d - 整数占位 ----可以对应任何数字数据(如果是浮点数,拼接时之拼接整数部分)
%f - 浮点数占位符,%.Nf 保留N位小数,可以对应任何数字数据
%c - 字符占位符,可以对应任何字符或者字符编码值
'''
str1='%s今年%d岁了!'
3.f-string

a.直接提供数据:{提供数据的表达式}

b.添加参数:{提供数据的表达式:参数}

'''
a.  .Nf --- 保留N位小数
b.  ,----用逗号将数据三位三位分开
c.   ,.Nf-----使用逗号的同时保留N位小数
d.   .N%---将小数转换成百分比,百分数保留N位
e.   X>N或者X<N   --- X是填充字符(如果没有X,用空格填),N是长度。大于填充在前面,小于填充在后面

'''
str1=f'{name}今年{age}岁了'
num = 19000000
print(f'数量为:{num:,.2f}') # 数量为:19,000,000.00

rate = 0.78
print(f'运动鞋的占比:{rate:.0%}') # 运动鞋的占比:78%

num = 34
print(f'学号:python2106{num:0>3}') # 学号:python2106034

stu1={'name':'张三','age':18}
stu2={'name':'张十三','age':21}
str1=f'name:{stu1["name"]:+<10}age:{stu1["age"]}' 
str2=f'name:{stu2["name"]:+<9}age:{stu2["age"]}'
print(str1) # name:张三++++++++age:18
print(str2) # name:张十三++++++age:21
4. r语法

python可以在字符串的前面加r或者R,来让字符串中的所有转义字符的功能消失

path='C:\Program Files\notnet\twidtag'
print(path)
path=r'C:\Program Files\notnet\twidtag'
print(path)
'''
# 1
C:\Program Files
otnet	widtag
# 2
C:\Program Files\ndotnet\twidtag
'''

二.字典推导式

和列表很相似,只不过用的是{},所以直接写例子

# 将字符串中每个字符当作字典的键,值为键*2
dict1={x:x*2 for x in 'abc'}
print(dict1) # {'a': 'aa', 'b': 'bb', 'c': 'cc'}
# 交换字典的键和值
dict1=dict((dict1[x],x) for x in dict1)
print(dict1) # {'aa': 'a', 'bb': 'b', 'cc': 'c'}
# 第二种交换写法
dict1={dict1[x]:x for x in dict1}
print(dict1) # {'a': 'aa', 'b': 'bb', 'c': 'cc'}
str1='abcA'
dict1={char:ord(char) for char in str1}
print(dict1) # {'a': 97, 'b': 98, 'c': 99, 'A': 65}

三.函数

1. 函数的分类

系统函数—python自带函数,只需要在使用时调用相应的函数

自定义函数—程序员自己创建的函数

2. 定义函数

语法:

def 函数名(形参列表):

​ 函数说明文档

​ 函数体

函数名:

要求:是标识符,不能输关键字

规范:见名知意-看见名字大概知道函数的功能;字母多小写,多个单词用下划线隔开

形参列表:

以’变量名1,变量名2,…'的形式存在,其中每一个变量就是一个形参

形参可以有多个也可以一个都没有

形参的作用:将函数外部的数据传递到函数内部

函数说明文档----本质是多行注释

函数体----和def保持一个所进的一条或者多条语句

def sum1(num1, num2):
    """
    功能说明去-描述函数的基本功能
    :param num1: 参数说明区 --描述每个形参传递的数据的功能或者意义
    :param num2:
    :return: 返回值说明---功能的产物
    """
    pass

练习:

# 练习:定义一个函数,将两个字符串合并成一个字符串,合并方式如下:
# 'abc' 和 '123'  ->  'a1b2c3'
# 'abc' 和 '123456'  ->  'a1b2c3456'
# 'abcde' 和 '123'  -> 'a1b2c3de'
def merge(str1, str2):
    result = ''
    length = min(len(str1), len(str2))
    for i in range(length):
        result += str1[i] + str2[i]
    result += str1[length:] + str2[length:]
    return result
print(merge('abcde', '123')) # a1b2c3de
上一篇:educoder/python第1关:练习-Python字典之应用二


下一篇:视觉AI应用开发创物营开营啦!5天时间带你体验视觉AI开发的无限魅力!