格式字符串、字符串常用方法与函数的定义——python

一、 格式字符串

输出:XXX今年XX岁
方案一:字符串拼接

name = '张飞'
age = 5

message = name + '今年' + str(age) + '岁。'
print(message)
message = f'{name}今年{age}岁'
print(message)

xx 性别:x,年龄:xx,今天考了xx分

name = '阿斯顿'
sex = '男'
age = 18
score = 60

方案二:格式字符串

1. 格式字符串

语法:
带有格式占位符的字符串%(数据1,数据2,数据3,…)

说明:
1.格式占位符 - 字符串不同类型数据的占位符号,固定的
       %s - 字符串的格式占位符(任何类型的数据都可以赋值)
       %d - 整数的格式占位符
       %f - 浮点数的格式占位符
       %.Nf - 浮点数的格式占位符,并且控制小数点有N位小数
       %c - 字符的格式占位符(可以是字符,也可以是字符对应的编码值)
2.%() - 固定写法
3.数据 - 最后给字符串中不确定内容赋值的数据;数据的个数和类型要和前面占位符的个数以及类型保持一致

message = '%s 性别:%s,年龄:%d,今天考了%d分'%(name,sex,age,score)
print(message)
message = f' {name}性别:{sex},年龄:{age},今天考了{score}分'
print(message)

message2 = '金额:%.2f' % (20.1666156516)
print(message2)

练习:狗的自我介绍:

dog1 = {'name':'大黄','age':2,'bread':'土狗'}
message = '大家好,我是%s,今年%d岁,我是一只%s。'%(dog1['name'],dog1['age'],dog1['bread'])
print(message)

方案三:format字符串 (f-string)

2. format

用法一:带{}的字符串。format(数据1,数据2,数据3,…)

message = '大家好,我是{},今年{}岁,我是一只{}。'.format(dog1['name'],dog1['age'],dog1['bread'])
print(message)

用法二:{下标}

message = '大家好,我是{0},我的名字是{0},今年{1}岁'.format('撒旦','18')
print(message)

用法三:{key}

message = '大家好,我是{name},我的名字是{name},今年{age}岁'.format(name = '萨达',age = 52)
print(message)

加约束 {:约束}/{下标:约束}/{key:约束}
1)约束小数位数 - {:.Nf}

message1 = 'a={:.2f}, b={:.3f}'.format(20,10)
print(message1)
print('a={0:.2f}, b={1:.3f}, c={0:.3f}'.format(20,10))
print(f'a={20:.2f}, b={1:.3f}, c={20:.3f}')
# '我的名字是xxx,月薪:xxx.xx元'
print('我的名字是{name},月薪:{money:.2f}元'.format(name = '阿达',money = 12.23135))

2)控制显示正负号 {:+}

print('a:{:+} b:{:+}'.format(10,-10))

3)控制数字的宽带:{:x>N}/{:x<N} - N表示数字的最终的位数,X是填充数字,>表示填充在数字的左边,<表示填充在数字的右边

print('a:{:>5},b:{:.<5}!'.format(10,20))
print('a:{:0>5},b:{:*<5}!'.format(10,20))

4)大数字用逗号隔开:{:,}

print('a:{:,},b={:,}'.format(10000000000000000000000,20000000000000000))

5)显示百分比:{:%}

print('a:{:.0%},b={:.2%}'.format(0.12,1))

f-string的用法

name = '小花'
age = 18
message = f'姓名:{name},年龄:{age}'
print(message)
二、 字符串常用方法
1.center/rjust/ljust
print('abc'.center(7,'*'))
print('abc'.rjust(7,'*'))
print('abc'.ljust(7,'*'))
# zfill() == rjust() zfill填充字符位0
print('123'.zfill(7))

练习;

num = input('请输入学生编号:')
print(f'python2003{num.zfill(3)}')
2.count
message = 'how are you? i am file. and you?'
print(message.count('a'))   #统计字符串message中字符'a'出现的次数
print(message.count('you'))
print(message.count('a',0,10))   #统计字符串message中0到9之间字符'a'出现的次数

3.index/find - 查找字符串的位置

message = 'how are you? i am file. and you?'
print(message.index('you'))
print(message.find('you'))

# print(message.find('you+'))   #报错
print(message.find('you+'))     #返回

4.join
字符串.join(序列) - 将序列中的元素用指定字符串拼接成一个新的字符串(序列中的元素必须是字符串)

list1 = ['name','sex','age']
print(' '.join(list1))
print('+'.join('abc'))
print('*'.join({'a':4,'b':1}))

5.lstrip/restrip/strip - 删除空白

message = '\n \t  abc 132\n  23\n'
print('============================')
print(message.lstrip())
print('============================')
print(message.rstrip(),'----------',sep='')
print('============================')
print(message.strip(),'----------',sep='')

message = 'aaaaaaaaaaa收到啦aaaaaa'
print(message.lstrip('a'))
print(message.rstrip('a'))
print(message.strip('a'))

6.maketrans和translate

table = str.maketrans('ab','12')            # 创建映射表:a - 1 ,b - 2
new_str = 'abcaaaaaaaa'.translate(table)    # 按照指定的映射表将原字符串中的字符进行替换
print(new_str)

7.replace
字符串1.replace(字符串2,字符串3)- 将字符串1中的字符串2全部替换成字符串3

message = 'how are you? i am file. and you?'
print(message.replace('you','****'))     #全部
print(message.replace('you','***',1))   #1次

8.split
字符串1.split(字符串2) - 将字符串2作为切割点对字符串1进行分隔

message = 'how are you? i am file. and you?'
print(message.split(' '))      #返回值为列表
print(message.split('are'))
三、 函数的定义
1.什么是函数

1)函数的概念(函数就是机器)
函数就是实现某一特定功能的代码的封装

2)函数的分类
系统函数:系统已经定义好的函数,程序员根据需求直接使用。例如:print、input、type等(别人造好的机器)
自定义函数:程序员自己定义函数。(自己造机器)

2.定义函数(造机器)

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

说明:
1.def - 关键字;固定写法
2.函数名 - 程序员自己命名;
要求:标识符;不能是关键字
规范:所有字母都小写,多个单词之间用下划线
见名知义(大概知道函数的功能)
不能使用系统自带的函数命、模块名和类名
3.形参列表 - 以:变量名1,变量名2,…的形式存在(可以一个变量都没有)
形参的作用是将函数外部的数据传递到函数的内部
定义函数的时候需不需要形参,需要几个形参看实现函数的功能需不需要额外的数据,需要几个
4.函数说明文档 - 就是用""""""表示的说明性的文字(相当于机器的说明书)
5.函数体 - 和def保持一个缩进的一条或者多条语句;就是实现函数功能的一条或者多条语句
(重要!!!!!!!!)注意:定义函数的时候不会执行函数体!!!调用函数的时候才会执行函数体

3.初学者定义函数的步骤

第一步:确定函数的功能
第二步:根据函数功能确定函数名字
第三步:确定函数的参数
第四步:实现函数的功能
第五步:写函数的说明文档
练习:定义一个函数求两个数的和

def sum1(num1, num2):
    """
    求两个数的和(函数功能的说明)
    :param num1: 需要求和的第一个数
    :param num2: 需要求和的第二个数
    :return: None(返回值说明)
    """
    print(num1 + num2)

练习2:定义一个函数求一个数的阶乘

def factorial(sum):
    """
    求一个数的阶乘
    :param sum: 需要求阶乘的数
    :return: None
    """
    count = 1
    for x in range(1,sum+1):
        count *= x
    print(count)

4.调用函数(使用机器)

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

说明:
函数名 - 已经定义好的函数名
实参列表 - 以 数据1,数据2…的形式存在(也可以没有)
正在传递到函数中使用的数据

sum1(2,3)
factorial(5)
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值