条()方法

描述:Python strip()方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。

   注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

语法:strip()方法语法:str.strip([chars]);

参数:chars - 移除字符串头尾指定的字符序列。

返回值:返回移除字符串头尾指定的字符序列生成的新字符串。

实例

以下实例展示了strip()函数的使用方法:

#!/usr/bin/python3str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' ))  # 指定字符串 *输出:this is **string** example....wow!!!

从结果上看,可以注意到中间部分的字符并未删除。

以上下例演示了只要头尾包含有指定字符序列中的字符就删除:

#!/usr/bin/python3str = "123abcrunoob321"
print (str.strip( '12' ))  # 字符序列为 12输出为:3abcrunoob3

总结:

1,strip()  处理的时候,如果不带参数,默认是清除两边的空白符,例如:/ n,/ r,/ t,'')。

2,strip()  带有参数的时候,这个参数可以理解一个要删除的字符的列表,是否会删除的前提是从字符串最开头和最结尾是不是包含要删除的字符,如果有就会继续处理,没有的话是不会删除中间的字符的。

addr = '123@163.com'
addr1 = addr.strip('12')

以上例子因为1在  123@163.com  的左边第一个,所以删除了继续判断,2也存在,所以也删除。结果为:

3@163.com

如果要删除的字符列表不包含第一个字符呢?

addr = '123@163.com'addr1 = addr.strip('23')

此时2不是第一个字符,所以无法继续,结果为:

123@163.com

分裂()方法

描述:split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个子字符串

分裂()方法语法:

str.split(str =“”,num = string.count(str))

参数

  • str - 分隔符,默认为所有的空字符,包括空格,换行(\ n),制表符(\ t)等。

  • num - 分割次数。

返回值:返回分割后的字符串列表。

实例

以下实例展示了分裂()函数的使用方法:

#!/usr/bin/python3str = "this is string example....wow!!!"
print (str.split( ))
print (str.split('i',1))
print (str.split('w'))输出:['this', 'is', 'string', 'example....wow!!!']['th', 's is string example....wow!!!']['this is string example....', 'o', '!!!']

总结:当出现file.strip()。split()时,如果文件不是字符串类型,则strip默认只会删除前后空白,但并不会会文件转换为字符串,

而分裂()不仅默认按照空白进行切片,同时还把数据转换成字符串类型,例如:

#只使用strip()

fr = open('testSet.txt')
for line in fr.readlines():print('line : ', line)lines = line.strip()print('lines: ', lines)print('-----------------------')line :  -0.017612    14.053064   0
lines:  -0.017612   14.053064   0
-----------------------
line :  -1.395634   4.662541    1
lines:  -1.395634   4.662541    1
-----------------------
line :  -0.752157   6.538620    0
lines:  -0.752157   6.538620    0
-----------------------

#只使用split()

fr = open('testSet.txt')
for line in fr.readlines():print('line : ', line)lines = line.split()print('lines: ', lines)print('-----------------------')line :  -0.017612    14.053064   0
lines:  ['-0.017612', '14.053064', '0']
-----------------------
line :  -1.395634   4.662541    1
lines:  ['-1.395634', '4.662541', '1']
-----------------------
line :  -0.752157   6.538620    0
lines:  ['-0.752157', '6.538620', '0']
-----------------------

二者联合使用

fr = open('testSet.txt')
for line in fr.readlines():print('line : ', line)lines = line.strip().split()print('lines: ', lines)print('-----------------------')line :  -0.017612    14.053064   0
lines:  ['-0.017612', '14.053064', '0']
-----------------------
line :  -1.395634   4.662541    1
lines:  ['-1.395634', '4.662541', '1']
-----------------------
line :  -0.752157   6.538620    0
lines:  ['-0.752157', '6.538620', '0']
-----------------------
line :  -1.322371   7.152853    0
lines:  ['-1.322371', '7.152853', '0']
-----------------------
line :  0.423363    11.054677   0
lines:  ['0.423363', '11.054677', '0']
-----------------------

列出append()和extent()方法

描述

append()方法用于在列表末尾添加新的对象。

extend()函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

语法

追加()方法语法:

  list.append(obj)

list.extend(SEQ)

参数

  • obj - 添加到列表末尾的对象。
  • seq - 元素列表

返回值

追加该方法无返回值,但是会修改原来的列表。

扩展该方法没有返回值,但会在已存在的列表中添加新的列表内容。

示例:

def changeextend(str):"print string with extend"mylist.extend([40,50,60]);print ("print string mylist:",mylist)return
def changeappend(str):"print string with append" mylist.append( [7,8,9] )print("print string mylist:",mylist )return
mylist = [10,20,30]
changeextend( mylist );
print ("print extend mylist:", mylist )
changeappend( mylist );
print ("print append mylist:", mylist )
print string mylist: [10, 20, 30, 40, 50, 60]
print extend mylist: [10, 20, 30, 40, 50, 60]
print string mylist: [10, 20, 30, 40, 50, 60, [7, 8, 9]]
print append mylist: [10, 20, 30, 40, 50, 60, [7, 8, 9]]

readline()和readlines()方法

概述

readline()  方法用于从文件读取整行,包括“\ n”字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括“\ n”字符。

readlines()  方法用于读取所有行(直到结束符EOF)并返回列表,该列表可以由Python的...在......结构进行处理。如果碰到结束符EOF则返回空字符串。

如果碰到结束符EOF则返回空字符串。

语法

readline()方法语法如下:

fileObject.readline();
fileObject.readlines( );

参数

  • readline()size  - 从文件中读取的字节数。

  • readlines()无

返回值

readline的返回从字符串中读取的字节。

readlines返回列表,包含所有的行。

实例

以下实例演示了readline()方法的使用:

文件runoob.txt的内容如下:

1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com

循环读取文件的内容:

#!/usr/bin/python
# -*- coding: UTF-8 -*-# 打开文件
fo = open("runoob.txt", "r+")
print ("文件名为: ", fo.name)line = fo.readline()
print ("读取第一行 %s" % (line))line = fo.readline(5)
print ("读取的字符串为: %s" % (line))# 关闭文件
fo.close()

以上实例输出结果为:

文件名为:  runoob.txt
读取第一行 1:www.runoob.com读取的字符串为: 2:www

readlines方法示例:

# 打开文件
fo = open("runoob.txt", "r")
print ("文件名为: ", fo.name)for line in fo.readlines():                          #依次读取每行  line = line.strip()                             #去掉每行头尾空白  print ("读取的数据为: %s" % (line))# 关闭文件
fo.close()
文件名为:  runoob.txt
读取的数据为: 1:www.runoob.com
读取的数据为: 2:www.runoob.com
读取的数据为: 3:www.runoob.com
读取的数据为: 4:www.runoob.com
读取的数据为: 5:www.runoob.com

格式格式化函数

Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。

基本语法是通过{}和:来代替以前的%。

format函数可以接受不限个参数,位置可以不按顺序

实例
>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

也可以设置参数:

实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的输出:网站名:菜鸟教程, 地址 www.runoob.com
网站名:菜鸟教程, 地址 www.runoob.com
网站名:菜鸟教程, 地址 www.runoob.com

字符串%操作符,格式如下:

% 操作符,格式如下:%[(name)][flags][width].[precision]typecode(name) 为命名flags 可以有 +,-,' '或 0。+ 表示右对齐。- 表示左对齐。' ' 为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0 表示使用 0 填充。width 表示显示宽度precision 表示小数点后精度
以下是类型码:%s    字符串 (采用str()的显示)
%r    字符串 (采用repr()的显示)
%c    单个字符
%b    二进制整数
%d    十进制整数
%i    十进制整数
%o    八进制整数
%x    十六进制整数
%e    指数 (基底写为e)
%E    指数 (基底写为E)
%f    浮点数
%F    浮点数,与上相同%g    指数(e)或浮点数 (根据显示长度)
%G    指数(E)或浮点数 (根据显示长度)
%%    字符"%"
举例>>> print("%6.3f" % 2.3)2.300第一个 % 后面的内容为显示的格式说明,6 为显示宽度,3 为小数点位数,f 为浮点数类型第二个 % 后面为显示的内容来源,输出结果右对齐,2.300 长度为 5,故前面有一空格
>>> print("%+10x" % 10)+a
x 为表示 16 进制,显示宽度为 10,前面有 8 个空格。>>>print("%-5x" % -10)
-a
%-5x 负号为左对齐,显示宽度为 5,故 -a 后面有 3 个空格>>>pi=3.1415
>>>print ("pi的值是%s"%pi)
pi的值是3.1415>>>print ("pi的值是%.8f"%pi)
pi的值是3.14150000
上面的 width, precision 为两个整数。我们可以利用 *,来动态代入这两个量。比如:>>> print("%10.*f" % (4, 1.2))1.2000
以下是补充简单的说,这是一种将其他变量置入字符串特定位置以生成新字符串的操作,比如说:>>> n = "Runoob"
>>> "My name is %s" % n
'My name is Runoob'
这段代码首先定义了一个名为 n 的变量,内容为 Runoob。然后下方的字符串中有一个 %s,他的含义是“这里将被替换成一个新的字符串”,用作替换的内容放在字符串后面的%后面,就是那个 n。所以最终这个字符串会变成 My name is Runoob。

enumerate()函数

描述

enumerate()函数用于将一个可遍历的数据对象(如列表,元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用于为循环当中。

语法

以下是enumerate()方法的语法:

enumerate(sequence, [start=0])

参数

  • sequence - 一个序列,迭代器或其他支持迭代对象。
  • 开始 - 下标起始位置。

返回值

返回enumerate(枚举)对象。


实例

以下展示了使用enumerate()方法的实例:

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>>list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>>list(enumerate(seasons, start=1))       # 小标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]普通的 for 循环
>>>i = 0
>>>seq = ['one', 'two', 'three']
>>>for element in seq:
...    print(i, seq[i])
...    i += 1
...
0 one
1 two
2 threefor 循环使用 enumerate
>>>seq = ['one', 'two', 'three']
>>>for i, element in enumerate(seq):
...    print(i, seq[i])
...
0 one
1 two
2 three
>>>

map()函数

描述

地图()  会根据提供的函数对指定序列做映射。

第一个参数函数以参数序列中的每一个元素调用函数函数,返回包含每次函数函数返回值的新列表。

语法

map()函数语法:

map(function, iterable, ...)

参数

  • function - 函数
  • iterable - 一个或多个序列

返回值

Python 2.x返回列表。

Python 3.x返回迭代器。

实例

以下实例展示了map()的使用方法:

>>>def square(x) :            # 计算平方数
...     return x ** 2
...
>>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]# 提供了两个列表,对相同位置的列表数据进行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

zip()函数

描述

拉链()  函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。

我们可以使用list()转换来输出列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压为列表。

zip方法在Python 2和Python 3中的不同:在Python 2.x zip()返回的是一个列表。

语法

zip语法:

zip([iterable, ...])

参数说明:

  • iterabl - 一个或多个迭代器;

返回值

返回一个对象。

实例

以下实例展示了zip的使用方法:

>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 返回一个对象
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped)  # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c))              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]>>> a1, a2 = zip(*zip(a,b))          # 与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]
>>>

字典setdefault()方法

描述
Python字典setdefault()方法和get()方法类似,如果键不已经存在于字典中,将会添加键并将值设为默认值。

语法
setdefault()方法语法:

dict.setdefault(key,default = None)

参数
key - 查找的键值.default
- 键不存在时,设置的默认键值。

返回值
如果key在字典中,返回对应的值。如果不在字典中,则插入键及设置的默认值default,并返回default,default默认值为None。

实例
以下实例展示了setdefault()方法的使用方法:

#!/usr/bin/python3dict = {'Name': 'Runoob', 'Age': 7}print ("Age 键的值为 : %s" %  dict.setdefault('Age', None))
print ("Sex 键的值为 : %s" %  dict.setdefault('Sex', None))
print ("新字典为:", dict)以上实例输出结果为:Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Age': 7, 'Name': 'Runoob', 'Sex': None}

Python3 title()方法


描述

Python title() 方法返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写(见 istitle())。

语法

title()方法语法:

str.title();

参数

  • NA。

返回值

返回"标题化"的字符串,就是说所有单词的首字母都转化为大写。

实例

以下实例展示了 title()函数的使用方法:

实例(Python 3.0+)

#!/usr/bin/python3 str = "this is string example from runoob....wow!!!" print (str.title())

以上实例输出结果如下:

This Is String Example From Runoob....Wow!!!

请注意,非字母后的第一个字母将转换为大写字母:

实例(Python 3.0+)

#!/usr/bin/python3 txt = "hello b2b2b2 and 3g3g3g" x = txt.title() print(x)

输出结果为:

Hello B2B2B2 And 3G3G3G

python3学习总结(个人遇到问题后搞明白的知识点总结)相关推荐

  1. Python3学习笔记----环境安装及文本编辑器的选择

    在线学习网站:廖雪峰的Python3教程网站 如果你正在使用Mac,系统是OS X 10.8~10.10,那么系统自带的Python版本是2.7.如要安装最新的Python 3,有两个方法: 方法一: ...

  2. Python3学习笔记之-学习基础(第三篇)

    Python3学习笔记之-学习基础(第三篇) 文章目录 目录 Python3学习笔记之-学习基础(第三篇) 文章目录 一.循环 1.for循环 2.while循环 3.break,continue 二 ...

  3. 【ML/DL】python3学习《机器学习实战》书中的报错及解决办法

    python3学习<机器学习实战>书中的报错及解决办法(更新中) <机器学习实战>是一本很不错的书,其采用的是py2的语法格式,在用最新的python3.6编写代码的过程中,书 ...

  4. Python3 学习笔记

    Python3 学习笔记 1.基础语法 1.1 字符串操作 title() 将单词首字母改为大写 upper() 所有字母改为大写 lower() 所有字母改为小写 str1+str2 字符串通过'+ ...

  5. 我10年来的学习和生活――应聘成功后的总结

    我10年来的学习和生活  ――面试成功后的总结 第0篇 学习计算机的人永远从0开始     我提前给我的大学生活画了一个圆满的句号,我一张白纸进来,没有一脑糨糊出去.我将收藏起这张记录了我青春足迹的白 ...

  6. python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?

    ---4.30更新---感谢大家支持,点赞都破两千了.给大家整理出来新的资料,需要的小伙伴来自取: Python练手项目视频如下: Python自学基础知识如下: 以下为原文内容: Python 学习 ...

  7. python基础第三章选择结构答案-python3 学习笔记(二)选择结构、循环结构

    python3 学习笔记 python 优雅 明确 简单 1.选择结构 (1)简单判断 if else 使用格式: if  条件: 表达式1 else: 表达式2 (2)多条件判断 elif 使用格式 ...

  8. 学习java多线程,这必须搞懂的这几个概念

    转载自 学习java多线程,这必须搞懂的这几个概念,很重要. 同步和异步 同步,Synchronous,即调用方法开始,一旦调用就必须等待方法执行完返回才能继续下面的操作. 举个例子,你去银行ATM取 ...

  9. 实验楼python3中挑战一_实验楼python3学习挑战项目

    实验楼python3学习挑战项目 在实验楼学习python3做的挑战项目做的代码整理. 链接:https://www.shiyanlou.com/courses/596 1.圆的面积 题目: 能够计算 ...

最新文章

  1. 如何保证缓存和数据库的双写的一致性
  2. s3c2440移植MQTT
  3. ASP.NET EntityFrameworkCore code first 多对多设计
  4. mysql数据库系统配置文件_跟我学虚拟机系统平台相关技术及应用——在CentOS系统中的MySql数据库系统配置文件中进行配置定义...
  5. file input 点击没反应_动态input file多文件上传到后台没反应的解决方法!!!
  6. oracle linux 配置本地yum,oracle linux配置本地光盘yum源
  7. 在OnLButtonDown获取其他控件被点击的消息
  8. equals与hashcode的区别与联系
  9. 《数据库系统概论》第五版 +学习笔记总目录
  10. [家里蹲大学数学杂志]第039期高等数学习题集
  11. 老男孩python课后作业_老男孩Python全栈学习 S9 日常作业 001
  12. 解决select2插件下拉搜索框,输入拼音能够匹配中文汉字的问题
  13. 颠覆式编程:软件2.0
  14. VMWare虚拟机最新版的下载与安装(详细教程)
  15. 【算法Algorithm】计数(Count)排序
  16. 【技术邻】Icepak前处理 功能速览 | 技巧+应用
  17. 查看Mysql 数据库所有表的数据量
  18. matlab中图像批量改名字,MATLAB中批量修改文件的名字
  19. Everything 高级搜索,后缀是png或者jpg的文件,使用
  20. 64位Windows7下TQ2440开发板的环境搭建

热门文章

  1. [PBRT-V3]代码中的#define(持续更新)
  2. 介词短语做后置定语(由of引导)
  3. 大数据行为分析包含哪些功能
  4. flutter推荐路由器插件:go_router
  5. node + ts读取csv文件为二维数组
  6. react 打包体积过大_解决 webpack 打包文件体积过大
  7. 分层目标规划matlab,多目标规划问题Matlab示例_fgoalattain.doc
  8. elementos php开发,PHPWord
  9. stm32运行java_STM32之——3种启动方式学习
  10. 华为鸿蒙系统支持什么手机_华为手机支持升级鸿蒙OS的EMUI 11系统55款机型名单公布...