07:55达到实验室,冲杯豆浆和接了一杯热水,准备先复习昨天的学习内容。
--------08:22复习完毕-----------
1.字符串的常用操作
1.1 isdecimal:是否全部由十进制的数字组成
print('123'.isdecimal()) print('123四'.isdecimal())
还有一个罗马数字的 输入进去依然是False
1.2 isnumeric():是否全部由数字组成
print('123'.isnumeric()) print('123四'.isnumeric())
这里的罗马数字也算做由数字组成,结果为True
1.3 isalnum:是否全部由数字和字母组成
print('123abc'.isalnum()) print('张三123'.isalnum()) print('abc!'.isalnum())
2.字符串其他操作方法
2.1 replace()字符串替换
字符串模式下
s='hello,python'
print(s.replace('python','java'))
s1 ='hello,python,python,python'
print(s1.replace('python','java',2))
print(s1.replace('python','java',3)) 第三个参数代表的是更替的次数
print(s1.replace('python','java',4))
有一个小插曲,一开始我设置为 s='hello','python',用repalce(),就不会成功,原来这是元组,元组没有这个repalce()
2.2字符串连接符 join()
当您使用 join()
方法时,它会尝试将列表中的所有元素连接成一个单一的字符串,其中每个元素之间用指定的分隔符(在这个例子中是 '|'
)分隔。不能出现整数int()
s2=['hello','python'] #列表
print('|'.join(s2))
print('*'.join(s2))
s3=('hello','python','ros') #元组 print("*".join(s3)) s4='python' #字符串 print('*'.join(s4))
3.字符串的比较操作
运算符包括: > <= < <= == !=
比较规则:从第一个开始比较,直到不等就不往后进行了。
例如:
print('app'<'apple')
标蓝色部分是
比较原理:用ord 可以得到字符的 value
用chr可以得到value值对应的字符 ,看到下图你就想为什么?
3.2 chr()和 ord()
ord:字符串➡数值
print(ord('a')) print(ord('b'))
chr():数值➡字母:
print(chr(98)) print(chr(97))
3.3 == 和is 的区别
==:比较value是否相等
is: 比较id是否相等
例如:
a=b='python' c='python' print(a==b) print(a == c) print(a is c ) print(a is b)
print(id(a)) print(id(c))
id也是一样的,这就是字符串的驻留机制
4.字符串的切片操作
切片将产生新的对象
不具备增删改操作 切记语法结构:对象名+[] 里面是start:stop:step
a= 'hello,python' a1=a[:5] a2=a[6:] a3='!' s=a1+a2+a3 print(s) print(a1) print(a2) print(a3) print(id(a)) print(id(a2))
print(s[::2]) print(s[::-1])
运行结果:
hloyhn
!nohtypolleh
这里记住一点吧:步长为正数要正着推,为负数逆推
4.格式化字符串
两种方式:
4.1%作占位符
%s:字符串 %i %d整数 %f:浮点数
语法结构:
‘我的名字叫:%s,今年 %d岁了’ % (name,age) 这里的%固定符号
name = '张三' age= 20 print('我叫%s,今年%d岁了' % (name,age)) 字符串 % 元组
4.2 {}作占位符
'我的名字叫:{0},今年{1}岁了,我真的叫:{0}'.format(name,age)
把第一个 ’我的名字叫:%s,今年 %d岁了’ % (name,age) 转成
’我的名字叫{0},今年 {1}岁了’ .format (name,age)
name = '张三' age= 20 print('我叫{0},今年{1}岁了'.format(name,age))
这里的0和1表示的是索引位置
----10:01----去剪个头发-------
-----11:06---刚刚剪完头发,买了午饭准备在实验室吃了-----刚发现我还得学carsim-----
--要学的太多了,前面欠的债,都得需要还。
4.3 f-string
语法结构: f'我叫{name},今年{age}岁了’。
例如:
print(f'我叫{name},今年{age}岁了')
这个多练习几遍吧。以下是又练习了一遍。
4.4 其他描述
语法结构(’%d/f % 数字)以及((’%nd/.或者%.n/m.n f % 数字)
例如:
print('%d'% 99) #打印99这个整数 print('%10d' % 99) #表示10个宽度
----中午没睡午觉,再整理写一下学校活动的策划案,我是组长,我得把组员们写的各部分策划案精准下。 12:54 加油,成为一名铁人。------不知不觉写到14:19终于写完了 。
开始继续学习: 14:19
4.4 整数和小数的精度写法
记住: print('%nd' % 数字)
print('%10d' % 99) #表示长度为10的99 print('%.3f' % 3.14159) #表示保留小数点后三位 print('%10.3f' % 99.52624) # 表示10个长度以及保留小数点后三位
第二种方式:
不想写这个%,那么第二种表达方式是什么?
语法结构 ‘{ }'.format(数字)
print('%10d' % 99) print('%.3f' % 3.14159) print('%10.3f' % 99.52624) print('{:.3}'.format(3.14159)) #保留三位有效数字 print('{:.3f}'.format(3.14159)) #保留小数点后三位数字 print('{0:.3}'.format(3.14159)) #证明:前面不写和0表达是一样的
print('{:10.3f}'.format(3.14159)) #表示的是保留3位有效数字,宽度一共10位
谨记:这里的{}与:很重要,此外还有.format()
5.字符串的编码与解码
5.1编码:将字符串转换二进制
语法结构: 对象名+.+encode(encoding='GBK')
对象名+.+encode(ending='UTF-8')
例如:
s="天涯共此时" print(s.encode(encoding='GBK')) print(s.encode(encoding='UTF-8'))
其中从程序中可知,GBK是两个字符,UTF-8是三个字符 看它的长度。
5.2 解码:将bytes类型的数据转换成字符串
先编码再解码
先写编码的程序:
s="天涯共此时" print(s.encode(encoding='GBK')) print(s.encode(encoding='UTF-8'))
然后解码 就先令一个对象名再把encode换成decode最后再一一对应就可以了。
例如:
s="天涯共此时"
print(s.encode(encoding='GBK'))
print(s.encode(encoding='UTF-8'))
a=s.encode(encoding='GBK')
print(a.decode(encoding='GBK')) #解码GBK
d=s.encode(encoding='UTF-8')
print(d.decode(encoding='UTF-8')) #解码UTF-8
需要注意的是,编码和解码用的是一个码,不能你编码和解码用的不是一个,那样就会报错
二、函数
1. 函数的定义与调用
定义:执行特定任务以完成特定功能的一段代码
函数的创建:def 函数名([输入的参数】): 自己起函数名
函数体
【return xxx]
def al (a,b): 函数名叫al 输入的参数有两个a和b o = a+b 函数体(逻辑关系) return (o) 返回给函数体 s=al(5,3) print(s)
再练习一道
def al (a,b,c): p=a+b*c return(p) k=al(5,6,2) print(k)
1.2函数的参数传递
1.2.1实际参数:简称实参 10 ,20 都是实参
1.2.2形式参数:简称形参 a,b 都是形参
这里的5给了a,8给了b ,这叫 位置实参
还有另外一种
def al (a,b): s=a+b return(s) k= al(5,8) print(k) p=al(a=8,b=5) #这叫关键字实参 print(p)
----刚刚党支部发了通知---需要我们写几篇笔记----去写了 ,想了一下吃完饭回寝室写吧,认真写,实验室没有写字的地方,只有敲代码的地方。
如果是不可变对象,在函数体的修改不会影响实参的值,arg1的修改为100,不会影响n1的值
如果是可变对象,在函数体的修改会影响到实参的值 arg2的修改,append(10),会影响到n2的值
这部分代码这个逻辑有点难理解,认真读吧
def fun(arg1,arg2): print('arg1',arg1) print('arg2',arg2) arg1=100 arg2.append(10) print('arg1',arg1) print('arg2',arg2) n1=10 n2=[22,33,44] print(n1) print(n2) fun (n1,n2) print(n1) print(n2)
1.3函数的返回值
函数返回多个值时,结果为元组
现在是07:45,昨晚一直在写党员笔记,没来得及来实验室,所以想了下,今早把这个文章发出去吧。