分享

Python系列(23)——不可不知“技能”之「函数」(二)

 静幻堂 2018-08-21
前端两分钟 2018-08-19 18:02:43

本篇文章是接着上一篇Python系列(21)写的文章哟~学习函数的话,要一整个函数部分看完才是完整的内容呢~

好啦,下面就接着上一篇介绍啦~~

print() 函数

用于打印输出,最常见的一个函数。

Python系列(23)——不可不知“技能”之「函数」(二)

range() 函数

range() 函数可创建一个整数列表,一般用在 for 循环中。

函数语法

range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

实例

>>>range(10) # 从 0 开始到 10

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> range(1, 11) # 从 1 开始到 11

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> range(0, 30, 5) # 步长为 5

[0, 5, 10, 15, 20, 25]

>>> range(0, 10, 3) # 步长为 3

[0, 3, 6, 9]

>>> range(0, -10, -1) # 负数

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> range(0)

[]

>>> range(1, 0)

[]

以下是 range 在 for 中的使用,循环出runoob 的每个字母:

>>>x = 'runoob'

>>> for i in range(len(x)) :

... print(x[i])

...

r

u

n

o

o

b

>>>

slice() 函数

slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

slice 语法:

class slice(stop)

class slice(start, stop[, step])

参数说明:

  • start -- 起始位置
  • stop -- 结束位置
  • step -- 间距

返回值

返回一个切片对象。

实例

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

>>>myslice = slice(5) # 设置截取5个元素的切片

>>> myslice

slice(None, 5, None)

>>> arr = range(10)

>>> arr

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> arr[myslice] # 截取 5 个元素

[0, 1, 2, 3, 4]

>>>

sorted() 函数

sorted 语法:

sorted(iterable[, cmp[, key[, reverse]]])

参数说明:

  • iterable -- 可迭代对象。
  • cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

返回值

返回重新排序的列表。

实例

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

>>>a = [5,7,6,3,4,1,2]

>>> b = sorted(a) # 保留原列表

>>> a

[5, 7, 6, 3, 4, 1, 2]

>>> b

[1, 2, 3, 4, 5, 6, 7]

>>> L=[('b',2),('a',1),('c',3),('d',4)]

>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> sorted(L, key=lambda x:x[1]) # 利用key

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

>>> sorted(students, key=lambda s: s[2]) # 按年龄排序

[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

>>> sorted(students, key=lambda s: s[2], reverse=True) # 按降序

[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

>>>

round() 函数

round() 方法返回浮点数x的四舍五入值。

语法

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

round( x [, n] )


参数

  • x -- 数值表达式。
  • n -- 数值表达式。

返回值

返回浮点数x的四舍五入值。

实例

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

Python系列(23)——不可不知“技能”之「函数」(二)

以上实例运行后输出结果为:

round(80.23456, 2) : 80.23

round(100.000056, 3) : 100.0

round(-100.000056, 3) : -100.0


List reverse()方法

reverse() 函数用于反向列表中元素。

Python系列(23)——不可不知“技能”之「函数」(二)

sum() 函数

sum() 方法对系列进行求和计算。

>>>sum([0,1,2])

3

>>> sum((2, 3, 4), 1) # 元组计算总和后再加 1

10

>>> sum([0,1,2,3,4], 2) # 列表计算总和后再加 2

12

type() 函数

type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。

语法

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

class type(name, bases, dict)

参数

  • name -- 类的名称。
  • bases -- 基类的元组。
  • dict -- 字典,类内定义的命名空间变量。

返回值

一个参数返回对象类型, 三个参数,返回新的类型对象。


实例

以下展示了使用 type 函数的实例:

# 一个参数实例

>>> type(1)

<type 'int'>

>>> type('runoob')

<type 'str'>

>>> type([2])

<type 'list'>

>>> type({0:'zero'})

<type 'dict'>

>>> x = 1

>>> type( x ) == int # 判断类型是否相等

True

# 三个参数

>>> class X(object):

... a = 1

...

>>> X = type('X', (object,), dict(a=1)) # 产生一个新的类型 X

>>> X

<class '__main__.X'>

isinstance() 函数

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

语法

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

isinstance(object, classinfo)

参数

  • object -- 实例对象。
  • classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

返回值

如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。


实例

以下展示了使用 isinstance 函数的实例:

>>>a = 2

>>> isinstance (a,int)

True

>>> isinstance (a,str)

False

>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True

True

type() 与 isinstance()区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

class A:

pass

class B(A):

pass

isinstance(A(), A) # returns True

type(A()) == A # returns True

isinstance(B(), A) # returns True

type(B()) == A # returns False

老铁们,大佬们,今天就给大家介绍到这里啦~~有兴趣的可以加关注或点赞转发给朋友哟~【爱他(她)就让他(她)去搬砖吧】

敬请期待~~你我一同进步!!!有任何问题皆可留言询问~~谢各位大佬关注!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多