一、字符串相关的函数
1、join函数
join()函数
Python中有join()和os.path.join()两个函数,具体作用如下:
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
os.path.join(): 将多个路径组合后返回
一、函数说明
1、join()函数
语法: ‘seq’.join(sep)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以seq作为分隔符,将sep所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
2、os.path.join()函数
语法: os.path.join(path1[,path2[,…]])
返回值:将多个路径组合后返回
注:第一个绝对路径之前的参数将被忽略
#对序列进行操作(分别使用’ ‘与’:'作为分隔符)
>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
#对字符串进行操作
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
#对元组进行操作
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido
#对字典进行操作
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
#合并目录
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'
2、sorted函数、sort函数
(1)sort函数
sort函数,sort函数是list的专属函数
sort()函数原型:
list.sort(key=None, reverse=False)
结果:
sort会直接改变列表的值,并且sort不仅会对数据排序还会对字母进行排序,或者字符串的长度进行排序。
<1> key参数
key接受的是一个只有一个形参的函数,形式如下
<2> reverse参数
reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False,即默认为升序。
注意:sort函数只能为列表使用,即list.sort(),其他均会报错
(2)sorted函数
sorted()是python的内置函数,该函数不改变原对象,调用时一般只需给出一个参数(参数可以是列表、字典、元组、字符串),其余参数取默认值,无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。
1》参数是列表
>>> l=[1,2,6,5,4,3]
>>> ll=sorted(l)
>>> l
[1, 2, 6, 5, 4, 3]
>>> ll
[1, 2, 3, 4, 5, 6]
2》参数是字典
>>> d
{'a': 4, 'c': 3, 'b': 1, 'd': 7, 'f': 6}
>>> dlist=sorted(d)#返回已排好序的由键构成的列表
>>> d
{'a': 4, 'c': 3, 'b': 1, 'd': 7, 'f': 6}
>>> dlist
['a', 'b', 'c', 'd', 'f']
>>>
即使在排序中,一般来说数字的排序速度会大于字符串数字的排序速度,如:“1”,“2”为字符串数字。
3》参数是元组
>>> t=(3,4,5,2,1)
>>> tt=sorted(t)
>>> t
(3, 4, 5, 2, 1)
>>> tt
[1, 2, 3, 4, 5]
4》参数是字符串
>>> s='bcabdfe'
>>> ss=sorted(s)
>>> s
'bcabdfe'
>>> ss
['a', 'b', 'b', 'c', 'd', 'e', 'f']
原文:https://blog.youkuaiyun.com/sxingming/article/details/51353896
3、字符串转换为数字
int(x ) 将x转换为一个整数
long(x) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
注:int()函数也可以进行进制的转换,不过只能将其他进制转化为10进制:
默认接受1-36进制的转换
#9、7、17进制转化为10进制
2进制或者4进制转化为10进制
0进制会自动判断你是2/8/10/16进制,如果不是这几个会报错
4、ASCII码表转换
含义:简单来说,是将人在键盘上敲入的字符(数字、字母、特殊符号等)转换成机器能够识别的二进制数,并且每个字符唯一确定一个ASCII码,形象地说,它就是人跟计算机交流时使用的键盘语言通过“翻译”转换成的计算机能够识别的语言。
具体ASCII的对应表如下链接所示:
ASCII码对照表128字符
ASCII码对照表256字符
注:从0开始
(1)chr()函数
chr函数是通过输入对应的ASCII码表字符的相应位置,返回ASCII
如:
(2)ord()函数
ord函数则是通过输入长度为1的ASCII码字符,返回对应的ASCII码位置。
如:
5、字符串切分函数
(1)split函数
split()函数
语法:str.split(str="",num=string.count(str))[n]
str:要切分的方式,即以什么符号进行分割,默认为空格
num:切分的次数,如果此参数不为空,默认切分num+1次
返回:函数进行切分后会返回一个切分后的字符串列表。
例:
注:切分并不影响原先的字符串结果,即例子中string不会发生改变
二、数学相关的函数
2、1 常见运算符
1、 /
浮点除法,就算分子分母都是int类型,也返回float类型,比如我们用4/2,返回2.0
(注:浮点除法返回的是浮点数)
2、//
整数除法,根据分子分母的不同组合,返回的值有差异。
正数//正数,除后向下取整,比如5//3,返回1
3、向上取整
同理在python的math包中又ceil函数,可以进行向上取整
4、 %
取余,注意是整除之后的余数,比如3/2,结果为1.5,3%2结果为应该是1。
5、*
乘法运算,比如2*3,结果为6
6、**
幂运算,比如2**3,结果为8
7、向下取整
即将数字直接截尾math.floor()
8、四舍五入
round(x,需要保留的小数位数)
9、int()函数
int函数也可以进行取整操作,并且可以将整型字符串转为整型但是,如果字符串不是整型则会报错,这时如果要转换,则要用float函数
10、sum函数
sum函数是求和函数,可以针对列表求和,如:
print(sum([1,2,3,4,5]))
结果
三、列表、集合相关的函数
1、map函数
map(func, *iterables) ,对于map函数,其中会传递两个参数,func为函数,*iterables为
一个或多个iterable的列表、集合等等,它的作用是对这n个iteratable对象同时进行遍历,每个iteratable中得到一个元素,将这个n个元素传入func中进行计算。map函数返回一个对象。
这时map返回的是一个对象,我们将其取出来。
四、循环
1、break、continue及pass的区别
break
当在while或者for中使用break的时候break会跳出整个循环,也就是else里面的语句也不会执行,将跳出整个循环
print('---------------break-------------')
for x in 'huhailong':
if(x == 'o'): #当遍历到o的时候跳出整个循环
break
print(x)
运行结果:
这里需要注意的时,再python中存在else的时候(if、while、for)当循环的条件为false时会执行else,但再使用了break后,else中的内容也不会执行,因为它也属于一个循环体里的一部分
print('---------------带有else的break------------')
count = 10
while(count > 0):
if(count == 5):
break
print(' %d '%count)
count-=1
else:
print('遍历完毕')
运行结果:
2、continue
当在while或者for中使用continue的时候continue会跳过当前循环,然后再进入下一次循环,不会跳出整个循环,只是跳过符合continue的条件
print('---------------continue----------')
for x in 'huhailong':
if(x == 'o'):
continue
print(x)
3、pass
Python pass是空语句,是为了保持程序结构的完整性
if a > b:
pass
else:
pass
当我们有了思路可以先用pass来进行占位
七、调试函数try except
1、try - except
作用: 捕获程序在执行时遇到的异常情况,即一些报错。什么啥玩意儿没定义啊,符号又错了啊之类的你懂得。
意义: 因为程序在发现某个错误时,往往会中断不再向下执行,如下例子说明问题:
很明显,我们并没有定义b, 就将它赋值给a, 现在我们运行如下:
不出所料提示NameError, 发现错误就报错,不再执行下面的程序。
现在我们用try/except写一下:
打印:
我们从这个例子可以试着去推测这段代码的执行过程:
(1)先执行try代码块, 发现了错误。
(2)执行except代码块。
(3)程序向下执行。