学习Python的第八天

一、格式字符串

1.格式字符串

1)语法:

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

2)说明:

1.格式占位符 - 字符串中不同类型数据的占位符号,固定的。
%s - 字符串的格式占位符
%d - 整数的格式占位符
%f - 浮点数的格式占位符
%.Nf - 浮点数的占位符,并且控制小数点后有N位小数
%c - 字符的格式占位符
2.%() - 固定写法
3. 数据 - 最后给字符串中不确定内容赋值的数据;数据的个数和类型要和前面占位符的个数和类型保持一致

sex = '男'
score = 92
message = '%s 性别:%s 年龄:%d 考了%d分' % (name, sex, age, score)
print(message)

message2 = '金额:%f' % (12)
message3 = '金额:%.2f' % (12)
print(message2, message3)
message4 = '97:%c' % 'a'
message5 = '97:%c' % 97
print(message4, message5)

2.format

方法1:带{}的字符串.format(数据1,数据2,数据3,…)

message = '大家好,我是{},今年{}岁,我是一只{}'.format('小白', 3, '萨摩耶')
print(message)

方法2:{下标}

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

方法3:{key}

message = '大家好,我是{name},我的名字是{name},今年{age}岁'.format(name='小白', age=18)

3.加约束:{:约束} {下标:约束} {key:约束}

1)约束小数位数 - {:.Nf} (N为0去掉小数)

message1 = 'a - {:.1f},b-{:.2f}'.format(10, 20)

2)控制显示正负号:

print('a - {:+.1f},b - {:+.2f}'.format(10, 20))

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

print('a - {:->5},b-{:-<9}'.format(10, 20))

4)大数字用,隔开

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

5)显示百分比:{:N%} - N控制百分制数小数点的位数

print('a - {:.1%},b-{:.2%}'.format(10, 20))

f-string的用法

name = 'adasd'
age = 12
message = f'姓名:{name}  年龄:{age:.1f}'
print(message)

二、字符串常用方法

1.center / rjust / ljust

print('abc'.center(7, 'x'))
print('abc'.center(7,'+'))
print('abc'.rjust(7,'x'))

zfill == rfill填充字符固定为0

print('abc'.zfill(7))

练习:输入学生编号,自动产生对应的学号 python2003001、python2003002

num = input('输入:')
class1 = 'python2003'
new_num = class1+num.zfill(3)
print(new_num)

2.count

message = 'how are you? i am fine,and you?'
print(message.count('you'))
print(message.count('a',0,10))

3.index/find

message = 'how are you? i am fine,and you?'
print(message.find('you'))  # 没有的时候返回-1
print(message.index('you'))  # 没有的时候报错

4.join

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

list1 = ['name','age','sex']
print(''.join(list1))
print(' '.join(list1))

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

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

message = 'aaaaa你好吗aaaa'
print(message.strip('a'))

6.maketrans 和 translate

table = str.maketrans('abc','12好')
new_str = 'abc'.translate(table)
print(new_str)

7.replace

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

message = 'how are you? i am fine,and you?'
new_str2 = message.replace('you','me')
print(new_str2)
new_str2 = message.replace('you','me',1)  # 1是替换次数,不写就全部替换
print(new_str2)

8.split

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

message = 'how are you? i am fine,and you?'
print(message.split(' '))

三、函数的定义

1.什么是函数

1)函数的概念(机器)

函数就是实现某一特定功能的代码的封装

2)函数的分类

系统函数:系统已经定义好的函数,程序员根据需求直接使用。(别人造好的机器)
自定义函数:程序员自己定义的函数。(自己造的机器)

2.定义函数(造机器)

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

def :关键字;固定写法

函数名:程序员自己命名。要求:标识符;不能是关键字。 规范:所有字符都要小写,多个单词之间用下划线隔开。见名知意(看到函数名,大概知道函数的功能)。不能使用系统自带的函数名、模块名和类名

形参列表:以变量名1,变量名2,变量名3,…的形式存在(可以一个变量都没有)
作用:将函数外的数据传递到函数内部
定义函数的时候需不需要形参,需要几个形参看实现函数功能需不需要外部数据,需要几个数据

函数说明文档 : 就是用""""""表示的说明性的文字(相当于说明书)

函数体 : 和def保持一个缩进的一条或者多条语句;就是实现函数功能的一条或者多条语句

3.定义函数的步骤

第一步:确定函数的功能
第二部:根据函数的功能确定函数的名字
第三步:确定函数的参数
第四步:实现函数的功能
第五步:写说明文档
(重要!!!)注意:定义函数的时候不会执行函数体 调用函数的时候才会运行

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值