Python 简明教程 --- 8,Python 字符串函数

微信公众号:码农充电站pro

个人主页:https://codeshellme.github.io

好代码本身就是最好的文档。当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释。

—— Steve McConnell

目录

在这里插入图片描述

字符串有很多操作函数,所以,这里我们专门用一节来介绍这些函数。

建议:

由于字符串函数较多,对于新手来说,不必要一开就掌握所有的函数用法,可以先粗略的看一遍,有个大概印象,到真正用的着的时候,再来详细查看也可。用的次数多了,自然就记住了。

我们可以通过dir() 函数来查看一个对象支持的方法属性有哪些,通过help() 函数查看某个方法的详情。

注意:
1,对象的概念会在后续章节详细介绍
2,这里我们无需过多的区分函数方法的不同,暂时可以认为函数方法相同

示例:

s = 'abc'	# s 是一个字符串
>>> dir(s)  # 查看字符串支持的方法
['__add__','__class__','__contains__','__delattr__','__dir__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__getnewargs__','__gt__','__hash__','__init__','__init_subclass__','__iter__','__le__','__len__','__lt__','__mod__','__mul__','__ne__','__new__','__reduce__','__reduce_ex__','__repr__','__rmod__','__rmul__','__setattr__','__sizeof__','__str__','__subclasshook__','capitalize','casefold','center','count','encode','endswith','expandtabs','find','format','format_map','index','isalnum','isalpha','isdecimal','isdigit','isidentifier','islower','isnumeric','isprintable','isspace','istitle','isupper','join','ljust','lower','lstrip','maketrans','partition','replace','rfind','rindex','rjust','rpartition','rsplit','rstrip','split','splitlines','startswith','strip','swapcase','title','translate','upper','zfill']

>>> help(s.find)	# 查看字符串的find 方法详情
Help on built-in function find:

find(...) method of builtins.str instance
    # 方法原型
    # -> 符号之前是参数
    # -> 符号之后时返回值类型
    S.find(sub[,start[,end]]) -> int		
    
    # 方法介绍
    Return the lowest index in S where substring sub is found,such that sub is contained within S[start:end].  Optional
    arguments start and end are interpreted as in slice notation.
    
    # 方法返回值
    Return -1 on failure.
(END)

Python 中双下划线 样式的方法__xxx__,被称为魔法方法(这里不做详细介绍),这里我们主要关注非魔法方法

这里的dir(s) 显示的所有方法中,除了魔法方法外,还有44 个方法,我们可以粗略的将这些方法分为以下8 类:

  1. 字符串查找
  2. 字符大小写
  3. 判断字母数字
  4. 字符串填充
  5. 字符串格式化
  6. 字符串截断
  7. 字符串分割
  8. 其它方法

下面我们逐一进行介绍。

1,字符串查找

1.find方法

作用:从左开始查找,返回子串subS[start:end] 中的第一个下标
原型:S.find(sub[,end]]) -> int
参数 sub:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:如果找到返回下标,否则返回 -1

示例:

>>> 'abcabcabc'.find('ca')
2      # 找到了,返回下标
>>> 'abcabcabc'.find('bbc')
-1     # 没找到,返回 -1

2.rfind方法

作用:从右开始查找,返回子串subS[start:end] 中的第一个下标
原型:S.rfind(sub[,end]]) -> int
参数:同 find 方法
返回值:如果找到返回下标,否则返回 -1

示例:

>>> 'abcabcabc'.rfind('ca')
5
>>> 'abcabcabc'.rfind('bbc')
-1

3.index方法

作用:从左开始查找,返回子串subS[start:end] 中的第一个下标
原型:S.index(sub[,end]]) -> int
参数 sub:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:如果找到返回下标,否则抛出ValueError 异常

示例:

>>> 'abcabcabc'.index('ca')
2
>>> 'abcabcabc'.index('bbc')
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
ValueError: substring not found    # ValueError 异常

关于Python 异常,将在后续章节详细介绍

4.rindex方法

作用:从右开始查找,返回子串subS[start:end] 中的第一个下标
原型:S.rindex(sub[,end]]) -> int
参数:同index 方法
返回值:如果找到返回下标,否则抛出ValueError 异常

示例:

>>> 'abcabcabc'.rindex('ca')
5
>>> 'abcabcabc'.rindex('bbc')
Traceback (most recent call last):
  File "<stdin>",in <module>
ValueError: substring not found

5.count方法

作用:统计子串subS[start:end] 中出现的次数
原型:S.count(sub[,end]]) -> int
参数 sub:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:子串出现的次数

示例:

>>> 'abcabcabc'.count('bc')
3

2,字符大小写

6.capitalize方法

作用:将字符串S的首字符变为大写,其余字符变为小写,对中文无效
原型:S.capitalize() -> str
参数:无
返回值:新的字符串

示例:

>>> 'AbCdE'.capitalize()
'Abcde'

7.casefold方法

作用:将字符串S中的所有字符变为小写,对中文无效
原型:S.casefold() -> str
参数:无
返回值:新的字符串

示例:

>>> 'AbCdE'.casefold()
'abcde'

8.swapcase方法

作用:将字符串S 中的大写字符转为小写,小写字符转为大写,对中文无效
原型:S.swapcase() -> str
参数:无
返回值:新的字符串

示例:

>>> 'AbCdE中国'.swapcase()
'aBcDe中国'

9.istitle方法

作用:判断S 中的单词,是否全都首字母大写,且其它字符小写
原型:S.istitle() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'Abc De fj'.istitle()
False
>>> 'Abc De Fj'.istitle()
True
>>> 'Abc De Fj 中国'.istitle() # 可以有中文
True
>>> '中国'.istitle()           # 不能只有中文
False

10.title方法

作用:将每个非字母后的第一个字母变为大写
原型:S.title() -> str
参数:无
返回值:新的字符串

示例:

>>> 'a3bc-abc abc'.title()
'A3Bc-Abc Abc'

11.islower方法

作用:判断S 中的字符是否全是小写字符
原型:S.islower() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'abc'.islower()
True
>>> 'aBc'.islower()      # 有大写字符,返回 False
False
>>> 'abc中国'.islower()  # 英文字符全是小写,且包含中文,返回 True
True
>>> '中国'.islower()     # 只有中文,返回 False
False
>>> ''.islower()
False

12.isupper方法

作用:判断S 中的字符是否全是大写字符
原型:S.isupper() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'ABC'.isupper()		# 所有字符全是大写,返回 True
True
>>> 'Abc'.isupper()     # 有大写,有小写,返回 False
False
>>> 'ABC中国'.isupper() # 所有字符全是大写,并包含中文,返回 True
True
>>> '中国'.isupper()    # 只有中文,返回 False
False
>>> ''.isupper()       # 空字符串,返回 False
False

13.lower方法

作用:将S 中的所有大写字符转为小写
原型:S.lower() -> str
参数:无
返回值:新的字符串

示例:

>>> 'AbC'.lower()
'abc'

14.upper方法

作用:将S 中的所有小写字符转为大写
原型:S.upper() -> str
参数:无
返回值:新的字符串

示例:

>>> 'AbC'.upper()
'ABC'

3,判断字母数字

15.isalnum方法

作用:判断S 中所有的字符是否都是字母或数字
原型:S.isalnum() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'abc'.isalnum()       # 英文字符,返回 True
True
>>> 'abc123'.isalnum()	  # 英文字符或数字,返回 True
True
>>> 'abc中国'.isalnum()	  # 英文字符或汉字,返回 True
True
>>> 'abc;'.isalnum()      # 有符号';' 返回 False
False
>>> 'abc-'.isalnum()	  # 有符号'-' 返回 False
False
>>> ''.isalnum()          # 空字符串,返回 False
False

16.isalpha方法

作用:判断S 中所有的字符是否都是字母
原型:S.isalpha() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'abc'.isalpha()			# 都是英文字符,返回 True
True
>>> 'abc中国'.isalpha()     # 英文字符和汉字,返回 True
True
>>> 'abc中国123'.isalpha()	# 有数字,返回 False
False
>>> 'abc中国-'.isalpha()    # 有符号,返回 False
False
>>> ''.isalpha()            # 空字符串,返回 False
False

17.isdecimal方法

作用:判断S 中是否只包含十进制字符
原型:S.isdecimal() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'abc'.isdecimal()     # 不包含数字,返回 False
False
>>> 'abc123'.isdecimal()  # 除了数字,还有英文字符,返回 False
False
>>> '123'.isdecimal()     # 只有数字,返回 True
True
>>> '123-'.isdecimal()    # 除了数字,还有符号,返回 False
False
>>> ''.isdecimal()        # 空字符串,返回 False
False
>>> '一二三'.isdecimal()
False

18.isdigit方法

作用:判断S 中是否只包含数字
原型:S.isdigit() -> bool
参数:无
返回值TrueFalse

示例:

>>> '123'.isdigit()
True
>>> '123e'.isdigit()
False

19.isnumeric方法

作用:判断S是否只由数字组成,数字可以是罗马数字,汉字数字等
原型:S.isnumeric() -> bool
参数:无
返回值TrueFalse

示例:

>>> '一二三'.isnumeric()
True
>>> '壹贰叁'.isnumeric()
True
>>> '123'.isnumeric()
True
>>> 'abc'.isnumeric()
False

20.isidentifier方法

作用:判断S 是否是有效的Python 标识符
原型:S.isidentifier() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'abc'.isidentifier()
True
>>> '5abc'.isidentifier()	# 不能以数字开头
False
>>> '_5abc'.isidentifier()
True
>>> ' _5abc'.isidentifier() # 不能以空格开头
False
>>> '_5abc;'.isidentifier() # 不能有标点符号
False

21.isprintable方法

作用:判断S 中的字符,是否全部可打印
原型:S.isprintable() -> bool
参数:无
返回值TrueFalse

示例:

>>> 'abc中国'.isprintable()
True
>>> 'abc\n'.isprintable()  # 换行符不可见
False
>>> 'abc\t'.isprintable()  # 制表符不可见
False
>>> 'abc\r'.isprintable()  # 回车符不可见
False

22.isspace方法

作用:判断S 中是否全是空白字符
原型:S.isspace() -> bool
参数:无
返回值TrueFalse

示例:

>>> '\r\n\t '.isspace()
True
>>> 'abc\r\n\t '.isspace()
False

4,字符串填充

23.center方法

作用:返回一个总长度为width 的字符串,S 居中,其它字符以fillchar 填充
原型:S.center(width[,fillchar]) -> str
参数 width:新的字符串的总长度,当 width 小于 S 的长度时,直接返回 S
参数 fillchar:填充字符,可省,默认为空格
返回值:新的字符串

示例:

>>> 'AbCdE'.center(20,'*')
'*******AbCdE********'

24.ljust方法

作用:以S 左对齐,返回一个长度为width 的新字符串,当len(S) 小于width 时,用fillchar 字符填充
原型:S.ljust(width[,fillchar]) -> str
参数:同 center 方法
返回值:新的字符串

示例:

>>> 'abc'.ljust(5,'*')
'abc**'
>>> 'abc'.ljust(3,'*')
'abc'

25.rjust方法

作用:类似ljust 方法,本方法为右对齐
原型:S.rjust(width[,fillchar]) -> str
参数:同 center 方法
返回值:新的字符串

示例:

>>> 'abc'.rjust(5,'*')
'**abc'
>>> 'abc'.rjust(3,'*')
'abc'

26.zfill方法

作用:效果同 rjust(width,'0')
原型:S.zfill(width) -> str
参数width 为新的字符串的总长度
返回值:新的字符串

>>> 'abc'.zfill(5)
'00abc'
>>> 'abc'.rjust(5,'0')
'00abc'

5,字符串格式化

27.format方法

作用:用于格式化字符串,用format 方法中的参数依次替代S 中的大括号{}
原型:S.format(*args,**kwargs) -> str
参数:任意参数列表
返回值:返回格式化后的字符串

示例:

>>> '{} {} {}'.format('hello','python',123)    # {} 中不写下标
'hello python 123'
>>> '{2} {0} {1}'.format('hello',123) # {} 中写下标
'123 hello python'							

28.format_map方法

作用:类似format 方法的作用,只是接受的参数类型不同,大括号{} 中必须是字典对象的
原型:S.format_map(mapping) -> str
参数:一个字典类型的对象
返回值:返回格式化后的字符串

示例:

>>> '{a} {b}'.format_map({'a':1,'b':2})
'1 2'

关于字典类型,将在后续章节详细介绍

6,字符串截断

29.lstrip方法

作用:从左开始,截去字符串S 中的字符chars,直到第一个不是chars 的字符
原型:S.lstrip([chars]) -> str
参数chars 可以是任意长度的字符串,每个包含在chars 中的字符,都会被截去。可省,默认为空格
返回值:新的字符串

示例:

>>> 'abcabcabc'.lstrip('b')
'abcabcabc'
>>> 'abcabcabc'.lstrip('a')
'bcabcabc'
>>> 'abcabcabc'.lstrip('ab')
'cabcabc'
>>> 'abcabcabc'.lstrip('abc')
''

30.rstrip方法

作用:从右开始,截去字符串S 中的字符chars,直到第一个不是chars 的字符
原型:S.rstrip([chars]) -> str
参数:同 lstrip
返回值:新的字符串

示例:

>>> 'abcabcabc'.rstrip('b')
'abcabcabc'
>>> 'abcabcabc'.rstrip('c')
'abcabcab'
>>> 'abcabcabc'.rstrip('bc')
'abcabca'
>>> 'abcabcabc'.rstrip('abc')
''

31.strip方法

作用:先执行lstrip 再执行 rstrip
原型:S.strip([chars]) -> str
参数:同 lstrip
返回值:新的字符串

示例:

>>> 'abcabcabc'.strip('b')
'abcabcabc'
>>> 'abcabcabc'.strip('ba')
'cabcabc'
>>> 'abcabcabc'.strip('bac')
''

7,字符串分割

32.strip方法

作用:从左到右,以字符串sep 来分割字符串S,最多分割maxsplit
原型:S.split(sep=None,maxsplit=-1) -> list of strings
参数 sepsep 可以是任意长度的字符串,默认为任意空白符
参数 maxsplit:分割的最大次数,默认不限次数
返回值:字符串列表

示例:

>>> 'a3bc-abc-ab ef\thh\nmn'.split()
['a3bc-abc-ab','ef','hh','mn'] 
>>> 'a3bc-abc-ab ef\thh\nmn'.split(maxsplit=2)
['a3bc-abc-ab','hh\nmn']
>>> 'a3bc-abc-ab ef\thh\nmn'.split('a')
['','3bc-','bc-','b ef\thh\nmn']
>>> 'a3bc-abc-ab ef\thh\nmn'.split('bc')
['a3','-a','-ab ef\thh\nmn']

33.rsplit方法

作用:从右到左,以字符串sep 来分割字符串S,最多分割maxsplit
原型:S.rsplit(sep=None,maxsplit=-1) -> list of strings
参数:同strip 方法
返回值:字符串列表

示例:

>>> 'a3bc-abc-ab ef\thh\nmn'.rsplit()
['a3bc-abc-ab','mn']
>>> 'a3bc-abc-ab ef\thh\nmn'.rsplit(maxsplit=2)
['a3bc-abc-ab ef','mn']
>>> 'a3bc-abc-ab ef\thh\nmn'.rsplit('bc')
['a3','-ab ef\thh\nmn']

34.splitlines方法

作用:对字符串S 进行行分割,换行符为\r\n\r\n
原型:S.splitlines([keepends]) -> list of strings
参数keependsTrueFalse,为True 时保留换行符,为False 时不保留换行符,默认为False
返回值:字符串列表

示例:

>>> 'a3bc-abc-ab ef\thh\nmn'.splitlines()
['a3bc-abc-ab ef\thh','mn'] 
>>> 'a3bc-abc-ab ef\thh\nmn'.splitlines(True)
['a3bc-abc-ab ef\thh\n','mn']

8,其它方法

35.encode方法

作用:对Sencoding指定的编码格式进行编码
原型:S.encode(encoding='utf-8',errors='strict') -> bytes
参数 encoding:以什么编码格式进行编码,默认是utf-8
参数 errors:发生错误时的处理方式,默认为strict,其它可选值有ignorereplacexmlcharrefreplace
返回值S 的字节形式值

示例:

>>> s = '中国'
>>> s.encode('utf8')
b'\xe4\xb8\xad\xe5\x9b\xbd'

36.join方法

作用:用于连接迭代器iterable 中的所有元素,分隔符为S
原型:S.join(iterable) -> str
参数:可迭代类型数据
返回值:新的字符串

示例:

>>> ','.join('abc')
'a,b,c' 
>>> '|'.join('abc')
'a|b|c'

关于可迭代类型,将在后续章节详细介绍,这里只需要知道字符串就是一种可迭代类型

37.startswith方法

作用:判断字符串S[start:end] 是否以子串prefix 开头
原型:S.startswith(prefix[,end]]) -> bool
参数 prefix:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值TrueFalse

示例:

>>> 'abcabcabc'.startswith('abc')
True
>>> 'abcabcabc'.startswith('bc')
False

38.endswith方法

作用:判断字符串S[start:end] 是否以子串suffix 结尾
原型:S.endswith(suffix[,end]]) -> bool
参数 suffix:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值TrueFalse

示例:

>>> 'abcabcabc'.endswith('bc')
True
>>> 'abcabcabc'.endswith('bcd')
False

39.replace方法

作用:从左到右,将S 中的 old 转换成 new,最多转换 count
原型:S.replace(old,new[,count]) -> str
参数 old:源字符串,可以是任意长度
参数 new:目标字符串,可以是任意长度
参数 count:最多转换 count
返回值:新的字符串

示例:

>>> 'abcabcabc'.replace('a','1')
'1bc1bc1bc'
>>> 'abcabcabc'.replace('a','111')
'111bc111bc111bc'
>>> 'abcabcabc'.replace('ab','1')
'1c1c1c'
>>> 'abcabcabc'.replace('a','1',2)
'1bc1bcabc'

40.expandtabs方法

作用:将S 中的tab 转为空格,tab\t
原型:S.expandtabs(tabsize=8) -> str
参数 tabsize:一个tab 转为空格的个数与tab 之前的子串长度之和为tabsize,默认为 8
返回值:新的字符串

示例:

>>> 'a\tbca\tbca\tbc'.expandtabs(4)
'a   bca bca bc'
>>> 'a\tbca\tbca\tbc'.expandtabs(4).replace(' ','-')
'a---bca-bca-bc'	         # 为了方便显示空格的个数,将空格替换为横线
>>> 'a\tbca\tbca\tbc'.expandtabs(8)
'a       bca     bca     bc'
>>> 'a\tbca\tbca\tbc'.expandtabs(8).replace(' ','-')
'a-------bca-----bca-----bc' # 为了方便显示空格的个数,将空格替换为横线

通过下图可以更好的理解expandtabs()的含义:

在这里插入图片描述

41.maketrans方法

作用:用于创建一个字符映射,常与 translate 方法配合使用
原型:maketrans(x,y=None,z=None,/)
参数:当只有1 个参数时,必须是一个字典。当有2 个参数时,是两个字符串,且这两个字符串的长度必须相同
返回值:一个字典类型的数据

示例:

>>> str.maketrans({'a':'1','b':'2','c':'3','d':'好'})
{97: '1',98: '2',99: '3',100: '好'}
>>> str.maketrans('abcd','123好')
{97: 49,98: 50,99: 51,100: 22909}

42.translate方法

作用:将字符串S 使用table 进行替换
原型:S.translate(table) -> str
参数:是一个字典类型
返回值:新的字符串

示例:

>>> x = str.maketrans('abc','123')
>>> x
{97: '1',100: '好'}
>>> 'axxxbxxxcxxx'.translate(x) # a->1 b->2 c->3
'1xxx2xxx3xxx'

43.partition方法

作用:从左边开始,将字符串Ssep 进行分隔,只会进行一次分隔
原型:S.partition(sep) -> (head,sep,tail)
参数sep 可以是任意长度的字符串
返回值:返回一个三元组(head,tail),head 是分隔后的前半部分,tail 是后半部分,sep 是分隔符

示例:

>>> 'abcabcabc'.partition('c')
('ab','c','abcabc')
>>> 'abcabcabc'.partition('bc')
('a','bc','abcabc')
>>> 'abcabcabc'.partition('abc')
('','abc','abcabc')

44.rpartition方法

作用:从右边开始,将字符串Ssep 进行分隔,只会进行一次分隔
原型:S.rpartition(sep) -> (head,tail)
参数:同 partition 方法
返回值:同 partition 方法

示例:

>>> 'abcabcabc'.rpartition('c')
('abcabcab','')
>>> 'abcabcabc'.rpartition('bc')
('abcabca','')
>>> 'abcabcabc'.rpartition('abc')
('abcabc','')

(完。)

推荐阅读:

Python 简明教程 --- 3,Python 基础概念

Python 简明教程 --- 4,Python 变量与基本数据类型

Python 简明教程 --- 5,Python 表达式与运算符

Python 简明教程 --- 6,Python 控制流

[Python 简明教程 --- 7,Python 字符串]https://www.cnblogs.com/codeshell/p/12958246.html)

欢迎关注作者公众号,获取更多技术干货。

码农充电站pro

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Python中的函数(二) 在上一篇文章中提到了Python中函数的定义和使用,在这篇文章里我们来讨论下关于函数的一些更深的话题。在学习C语言函数的时候,遇到的问题主要有形参实参的区别、参数的传递和改变、变量的作用域。同样在Python中,关于对函数的理解和使用也存在这些问题。下面来逐一讲解。一.函
Python中的字符串 可能大多数人在学习C语言的时候,最先接触的数据类型就是字符串,因为大多教程都是以&quot;Hello world&quot;这个程序作为入门程序,这个程序中要打印的&quot;Hello world&quot;就是字符串。如果你做过自然语言处理方面的研究,并且用Python
Python 面向对象编程(一) 虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程。下面就来了解一下如何在Python中进行对象编程。一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法。 类是对现实世界中一些事物的封装,
Python面向对象编程(二) 在前面一篇文章中谈到了类的基本定义和使用方法,这只体现了面向对象编程的三大特点之一:封装。下面就来了解一下另外两大特征:继承和多态。 在Python中,如果需要的话,可以让一个类去继承一个类,被继承的类称为父类或者超类、也可以称作基类,继承的类称为子类。并且Pytho
Python中的函数(一) 接触过C语言的朋友对函数这个词肯定非常熟悉,无论在哪门编程语言当中,函数(当然在某些语言里称作方法,意义是相同的)都扮演着至关重要的角色。今天就来了解一下Python中的函数用法。一.函数的定义 在某些编程语言当中,函数声明和函数定义是区分开的(在这些编程语言当中函数声明
在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方便和顺手,就是web.py。它由一名黑客所创建,但是不幸的是这位创建者于2013年自杀了。据说现在由
将Sublime Text 2搭建成一个好用的IDE 说起编辑器,可能大部分人要推荐的是Vim和Emacs,本人用过Vim,功能确实强大,但是不是很习惯,之前一直有朋友推荐SUblime Text 2这款编辑器,然后这段时间就试了一下,就深深地喜欢上这款编辑器了...
Python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句&quot;#include&lt;math.h&gt;&quot;引入math.h这个头文件,否则是无法正常进行调用的。那么在Python中,如果要引用一些内置的函数,该怎么处理呢?在Python中
Python的基础语法 在对Python有了基础的认识之后,下面来了解一下Python的基础语法,看看它和C语言、java之间的基础语法差异。一.变量、表达式和语句 Python中的语句也称作命令,比如print &quot;hello python&quot;这就是一条语句。 表达式,顾名思义,是
Eclipse+PyDevʽjango+Mysql搭建Python web开发环境 Python的web框架有很多,目前主流的有Django、Tornado、Web.py等,最流行的要属Django了,也是被大家最看好的框架之一。下面就来讲讲如何搭建Django的开发环境。一.准备工作 需要下载的
在windows下安装配置Ulipad 今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便。 Ulipad下载地址: https://github.com/limodou/ulipad http://files.cnblogs.com/dolphin0520/u...
Python中的函数(三) 在前面两篇文章中已经探讨了函数的一些相关用法,下面一起来了解一下函数参数类型的问题。在C语言中,调用函数时必须依照函数定义时的参数个数以及类型来传递参数,否则将会发生错误,这个是严格进行规定的。然而在Python中函数参数定义和传递的方式相比而言就灵活多了。一.函数参数的
在Notepad++中搭配Python开发环境 Python在最近几年一度成为最流行的语言之一,不仅仅是因为它简洁明了,更在于它的功能之强大。它不仅能够完成一般脚本语言所能做的事情,还能很方便快捷地进行大规模的项目开发。在学习Python之前我们来看一下Python的历史由来,&quot;Pytho
Python中的条件选择和循环语句 同C语言、Java一样,Python中也存在条件选择和循环语句,其风格和C语言、java的很类似,但是在写法和用法上还是有一些区别。今天就让我们一起来了解一下。一.条件选择语句 Python中条件选择语句的关键字为:if 、elif 、else这三个。其基本形式如
关于raw_input( )和sys.stdin.readline( )的区别 之前一直认为用raw_input( )和sys.stdin.readline( )来获取输入的效果完全相同,但是最近在写程序时有类似这样一段代码:import sysline = sys.stdin.readline()
初识Python 跟学习所有的编程语言一样,首先得了解这门语言的编程风格和最基础的语法。下面就让我们一起来了解一下Python的编程风格。1.逻辑行与物理行 在Python中有逻辑行和物理行这个概念,物理行是指在编辑器中实际看到的一行,逻辑行是指一条Python语句。在Python中提倡一个物理行只
当我们的代码是有访问网络相关的操作时,比如http请求或者访问远程数据库,经常可能会发生一些错误,有些错误可能重新去发送请求就会成功,本文分析常见可能需要重试的场景,并最后给出python代码实现。
1.经典迭代器 2.将Sentence中的__iter__改成生成器函数 改成生成器后用法不变,但更加简洁。 3.惰性实现 当列表比较大,占内存较大时,我们可以采用惰性实现,每次只读取一个元素到内存。 或者使用更简洁的生成器表达式 4.yield from itertools模块含有大量生成器函数可
本文介绍简单介绍socket的常用函数,并以python-kafka中的源码socketpair为例,来讲解python socket的运用
python实践中经常出现编码相关的异常,大多网上找资料而没有理解原理,导致一次次重复错误。本文对常用Unicode、UTF-8、GB2312编码的原理进行介绍,接着介绍了python字符类型unicode和str以及常见编解码错误UnicodeEncodeError和UnicodeDEcodeEr