IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python学习日记79-89 -> 正文阅读

[Python知识库]python学习日记79-89

1.前言

隔离日记DAY6

2.学习内容

1.字符串的劈分

?s='hello world python'
?lst=s.split()#从字符串的左侧开始劈分,默认劈分符是空格字符串,返回值都是列表
?print(lst)#['hello', 'world', 'python']
?s1='hello|world|python'
?print(s1.split(sep='|'))#sep用来指定劈分符 ['hello', 'world', 'python']
?print(s1.split(sep='|',maxsplit=1))#通过参数maxsplit指定最大劈分次数,经过最大劈分次数后,剩余的字符串会单独作为一部分
?print('------------------------------')
?'''rsplit()从右侧开始劈分'''
?print(s.rsplit())
?print(s1.split('|'))
?print(s1.rsplit(sep='|',maxsplit=1))#二者区别在这里['hello|world', 'python']

这一部分没什么可赘述的,看程序一目了然

2.字符串判断的相关方法

?s='hello,python'#字母 数字 下划线才是合法的标识符
?print('1.',s.isidentifier())#False s中含有逗号,所以不是. ?  isidentifier()判断指定字符串是不是合法标识符
?print('2.','hello'.isidentifier())#2. True
?print('3.','张三_'.isidentifier())#3. True,为啥汉字也合法,因为汉字也由字母组成
??
?print('5.','\t'.isspace())#5. True  isspace判断字符串是不是全部由空白字符组成(回车,换行,水平制表符)
??
?print('6.','adc'.isalpha())#6. True  isalpha判断字符串是否全由字母组成
?print('7.','张三'.isalpha())#7. True
?print('8.','张三1'.isalpha())#8. False
??
?print('9.','123'.isdecimal())#9. True  isdecimal判断是否全由十进制数组成,(罗马数字不是十进制数)
?print('10.','123四'.isdecimal())#false
??
??
?print('11','123'.isnumeric())#True ?  isnumeric判断是否全由数字组成 (罗马数字也行)
?print('12','123四'.isnumeric())#True
??
?print('13','abc1'.isalnum())#True ?  isalnum判断是否全由字母和数字组成
?print('14','张三123'.isalnum())#True ?  张三也是字母
?print('15','abc!'.isalnum())#15 False  !不行

注意汉字也是合法标识符,因为其由字母组成

3.字符串的替换与合并

?s='hello,python'
?print(s.replace('python','java'))#替换
?s1='hello,python,python,python'
?print(s1.replace('python','java',2))#hello,java,java,python第三个参数为替换次数
??
??
?lst=['hello','java','python']
?print('|'.join(lst))  #hello|java|python 连接
?print(''.join(lst)) ? #hellojavapython
??
?t=('hello','java','python')
?print(''.join(t))#hellojavapython
??
?print('*'.join('python'))#p*y*t*h*o*n

print(s.replace('python','java'))#替换 就是把字符串中的python换成java,这一部分也比较好理解。

4.字符串的比较操作

?print('apple'>'app')#True
?print('apple'>'banana')#False  a与b原始值(ASCII码)比较  相当于97 >98 False
?print(ord('a'),ord('b'))
??
?print(chr(97),chr(98))#a b ? ? chr与ord互为对应
??
?'''==与is的区别
? ? == 比较的是值value
? ? is 比较的是id是否相等'''
?a=b='python'
?c='python'
?print(a==b)#True
?print(b==c)#True
??
?print(a is b)#true
?print(a is c)#true
?print(id(a))#a b c内存地址全相同 字符串驻留机制:当发现有相同字符串时,不会再创建新的字符串,而指向相同字符串的空间
?print(id(b))#同
?print(id(c))#同
  • 比较字符串时是比较其ASCII码的大小,且逐次从左到右比较

  • chr与ord互为对应

  • ==与is的区别 == 比较的是值value is 比较的是id是否相等

  • a b c内存地址全相同 字符串驻留机制:当发现有相同字符串时,不会再创建新的字符串,而指向相同字符串的空间

4.字符串的切片操作

?s='hello,python'
?s1=s[:5]#hello 由于没有指定起始位置,所以从0开始切
?s2=s[6:]#python由于没有指定结束位置,所以切到字符串的最后一个元素
?s3='!'
?newstr=s1+s3+s2#hello!python
?print(s1)
?print(s2)
?print(newstr)
?print(id(s1))
?print(id(s2))
?print(id(s3))
?print(id(newstr))#切片id各不相同
??
?print('-------切片[start:stop:step]  ------')
?print(s[1:5:1])#从1开始截到5,不包含5,步长为1
?print(s[::2])#默认从0开始,没有写结束,默认到字符串的最后一个元素,步长为2,两个元素之间的索引间隔为2
?print(s[::-1])#默认从字符串的最后一个元素开始,到字符串的第一个元素结束,因为步长为负数
?print(s[-6::1])#从索引为-6开始,到字符串的最后一个元素结束,步长为1,python

切片id各不相同

5.格式化字符串

?#格式化字符串
?#1. %占位符
?name='张三'
?age=20
?print('我叫%s,今年%d岁' %(name,age))#我叫张三,今年20岁
??
?#2. {}
?print('我叫{0},今年{1}岁'.format(name,age))#我叫张三,今年20岁 ?
??
?#3.f-string
?print(f'我叫{name},今年{age}岁')#我叫张三,今年20岁
?print('%10d' %99)#10表示宽度# ? ? ?  99(前面8个空格)
?print('%.3f'%3.1415926)# ? .3表示保留三位小数
?#同时表示宽度和精度'
?print('%10.3f'%3.14595555)#总宽度为10,小数点后三位
??
??
?print('hellohello')
?print('{0}'.format(3.1415926))#花括号是占位符,占的3.1415926的位置 ? ? ? ? ? ? ? ?  3.1415926
?print('{0:.3}'.format(3.1415926))#.3表示一共三位数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  3.14
?print('{0:.3f}'.format(3.1415926))#.3d表示是3位小数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.142
?print('{:10.3f}'.format(3.1415926))#10表示宽度为10 #同时设置宽度和精度,一共是10位,其中三位是小数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.142
?#0表示占位符的顺序,也可以不写

6.字符串的编码与解码

s='天涯共此时'
#编码
print(s.encode(encoding='GBK'))#在GBK这种编码格式中,一个中文占两个字节
#b'\xcc\xec\xd1\xc4\xb9\xb2\xb4\xcb\xca\xb1' b表示二进制byte 后面刚好十个(五个字 一个字两字节)
print(s.encode(encoding='UTF-8'))#在 UTF-8这种编辑格式中,一个中文占三个字节
#b'\xe5\xa4\xa9\xe6\xb6\xaf\xe5\x85\xb1\xe6\xad\xa4\xe6\x97\xb6'  多了五个

#解码
#byte代表一个二进制数据(字节类型的数据)
byte=s.encode(encoding='GBK')# 编码
print(byte.decode(encoding='GBK'))#解码 天涯共此时
#print(byte.decode(encoding='UTF-8'))#ERROR 因为编码格式要和解码格式相同

7.函数的定义与调用

def calc(a,b):#a b成为形式参数 简称形参,形参的位置是在函数的定义处
    c=a+b
    return c

result=calc(10,20)#10 20 称为实际参数的值,简称实参,实参的位置实在函数的调用处
print(result)

res=calc(b=10,a=20)#等号左侧变量名称成为 关键字参数
print(res)

8.位置实参,关键字实参

9.函数参数传递的内存分析

def fun(arg1,arg2):
    print('arg1',arg1)
    print('arg2',arg2)
    arg1=100
    arg2.append(10)
    print('arg1', arg1)
    print('arg2', arg2)

n1=11
n2=[22,33,44]
print('n1',n1)
print('n2',n2)
fun(n1,n2)#将位置传参,arg1 arg2,是函数定义出的形式参数,n1 n2是函数调用处的实参,总结:实参名称与形参名称可以不一致

print('n1',n1)
print('n2',n2)
'''在函数调用过程中,进行参数的传递
如果是不可变对象,在函数体的修改不会影响实参的值 arg1的修改不会影响n1的值
如果是可变对象,在函数体的修改会影响实参的值     arg2的修改会影响到n2的值'''

10.函数的返回值

def fun(num):
    odd=[]#存奇数
    even=[]#存偶数
    for i in num:#遍历列表
        if i%2:
            odd.append(i)
        else:
            even.append(i)
    return odd,even

#函数的调用
lst=[10,29,34,23,44,53,55]
print(fun(lst))

'''
函数的返回值
1.如果函数没有返回值(函数执行完后,不需要给调用处提供数据) return可以不写
2.函数的返回值如果是一个,直接返回原值
3.函数的返回值如果是多个,返回的结果为元组
'''

def fun1():#直接输出就行了,没返回值
    print('hello')
    #renturn

fun1()


def fun2():
    return'hello'

res=fun2()
print(res)

def fun3():
    return'hello','world'
print(fun3())

'''函数在定义时,是否需要返回值,视情况而定'''

3.结束语

倦了.....晚安

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:29:51  更:2021-10-25 12:30:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:51:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码