打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
大牛带你学习Python中这些简单的函数,看一遍就会

文章目录

  1. 定义和调用函数

  2. 定义函数

  3. 参数和返回值

  4. 变量的作用域

  5. 匿名函数

  6. 内置函数

  7. 数值运算函数

  8. 字符串处理函数

  9. 其他常用内置函数

  10. help()

  11. type()

定义和调用函数

定义函数

格式

def functionname([parameterlist])
['comments']
[funcitonbody]

functionname:函数名

parameterlist:参数。可以为空,可以为多个参数,用逗号隔开

comments:可选参数

functionbody:可选参数,语句体调用函数后要执行的功能代码

  • 函数:系统函数、自定义函数

  • 调用函数:

调用函数就是执行函数

系统函数、自定义 函数都是用函数名来调用

  • pass空语句:不做任何事情,起到占位作用,可以用…来代替pass

自定义函数

def sum(num1,num2):
print(num1+num2)def printstring(str):
print(str)

num1、num2、str都是函数的参数,在函数体中,函数类似于变量

函数调用、调用函数

  • 计算两个数相加

>>> def sum(num1,num2):
     print(num1+num2)>>> sum(100,10)110>>>

参数和返回值

  • 主调函数和被调用函数之间一般都有数据传递关系

  • 参数:

形参:定义函数时,括号里的参数

实参:调用函数时,函数后面的参数

  • 参数的作用是传递数据给函数使用

实参:

值传递:实参为不可变对象时,改变形参的值,实参值不变

引用传递:实参为可变对象时,改变形参的值,实参的值也会改变

位置参数(必备参数)

  • 必须按照正确的顺序传递到函数中,即调用时数量和位置必须与定义的相同

  • 关键字参数:使用形参的名字来输入参数的值,不需要与形参的的位置一致

例1:>>> def fun_bmi(person,height,weight):  //定义函数
bmi = weight/height

print (bmi)

>>> fun_bmi('坏坏',1.78)  //参数数量与定义的不同,缺少“weight”参数
Traceback (most recent call last):
 File '<pyshell#28>', line 1, in <module>
   fun_bmi('坏坏',1.78)
TypeError: fun_bmi() missing 1 required positional argument: 'weight'

>>> fun_bmi('坏坏',56,1.78)  //参数位置与定义不一致

0.031785714285714285

>>> >>> fun_bmi('坏坏',1.78,56)  //正确的输出

31.46067415730337

# 关键字参数,用形参的名字确定输入的参数值,指定实参时,无需与形参的位置相同>>> fun_bmi(height=1.78,weight=56,person='坏坏')

31.46067415730337

>>>

参数传递

>>> def func(num):
num+=1>>> a = 10>>> func(a)>>> print(a)10

列表作为参数传递

>>> def sum(list):
total=0
for i in range(len(list)):
print(list[i],'+',end='')
total+=list[i]
print('=',total)>>> list=[15,25,35,45,55]>>> sum(list)15 +25 +35 +45 +55 += 175>>>

这里在最后的一个输出会多一个+号,可以优化

字典作为参数传递

>>> def print_dict(dict):
for (k,v) in dict.items():
print('dict[%s]='%k,v)
>>> dict={'b':'bad','o':'boy','B':'Bad'}>>> print_dict(dict)
dict[b]= bad
dict[o]= boy
dict[B]= Bad>>>

  • 可变参数(不定参数)

传入函数中的实际参数可以是0个、1个或多个

可变参数的两种形式:

  • *parameter——接受任意多个实际参数并将其放到一个元组中

  • **parameter——接受任意多个显示赋值的实际参数,并将其放到一个字典中

# *parameter可变参数>>> def printplayer(*name):
print('我喜欢的歌手有:') for item in name:
print(item)>>> printplayer('许嵩')
我喜欢的歌手有:
许嵩>>> printplayer('许嵩','孙子涵','owl ciy')
我喜欢的歌手有:
许嵩
孙子涵
owl ciy>>>
>>> def printsign(**sign):
print() for key,value in sign.items():
print('['+key+']的专辑是:'+value)# **可变参数>>> printsign(许嵩='寻宝游戏',孙子涵='涵剧先森',owl='Good Time')
[许嵩]的专辑是:寻宝游戏
[孙子涵]的专辑是:涵剧先森
[owl]的专辑是:Good Time>>>

使用已存在的列表作为函数的可变参数,在列表名称前加*

使用已存在的字典作为函数的可变参数,可在字典的名称前面加**

  • 返回值

作用:将函数处理的结果返回给调用它的程序

返回值不是必须的,如果没有return语句,默认返回None

返回值可以是任意类型,只要return得到执行,就会直接结束函数的执行

返回一个值,该值可以是任意类型

返回多个值,保存为一个元组

>>> def sum(num1,num2):  #无返回值
num1+num2>>> print(sum(2,3))
None>>> def sum(num1,num2):  #有返回值
num1+num2 return num1+num2
>>> print(sum(2,3))5>>>

例:输出一个列表中的偶数

>>> def filter_even(list):
list1=[] for i in range(len(list)): if list[i]%2==0:
list1.append(list[i])
i-=1
return list1>>> list=[1,2,3,4,5,6,7]>>> list2=filter_even(list)>>> print(list2)
[2, 4, 6]>>>

变量的作用域

  • 作用域指程序代码能够访问该变量的区域,即变量的有效范围

  • 局部变量:

在函数内部定义的变量,只能在函数内使用

只在函数运行时创建,运行之前、之后都不存在

  • 全局变量:

在函数外定义的变量

函数内定义,但是用global关键字修饰后的变量

在定义后的任何地方都有效

如果全局变量和局部变量重名,函数体内只有局部变量有效

>>> a = 50  #定义全局变量a>>> def setNumber():  #定义函数内为局部变量,只在函数内有效
a=10
print(a)>>> setNumber()  #调用函数,输出函数内的变量值10>>> print(a)  #未调用函数,输出全局变量的值50>>>

例:>>> total=5  #全局变量>>> def sum(num1,num2):
total=num1+num2   #函数内的为局部变量
print ('函数内是局部变量:',total) return total>>> sum(5,15)  #调用函数,输出局部变量函数内是局部变量: 2020>>> print('函数外是全局变量:',total)  #未调用函数,输出全局变量函数外是全局变量: 5>>>

匿名函数

  • python使用lambda来创建匿名函数

lambda是一个表达式,函数体比def简单

lambda的主体是表达式,不是代码块。仅能在lambda表达式中封装有限的逻辑

lambda函数拥有自己的命名空间,不能访问自有参数列表以外或全局命名空间里的参数

  • 语法:lambda[arg1[,arg2,...argn]]:expression

匿名函数主要应用在需要一个函数而不必去命名这个函数

lambda函数看似只能写一行,却不同于C或C++的内联函数

内联函数的目的是调用小函数时不占用栈内存从而增加运行效率

# 使用def定义函数>>> def aaa(i):
return 2+3*i>>> aaa(5)17# 使用lambda定义函数>>> d=lambda i :2+3*i>>> d(5)17>>>
>>> def add(a,b):
return a+b>>> add(2,3)5>>> e=lambda a,b :a+b>>> e(2,3)5>>>

  • lambda优势:

更精简,省略定义普通函数的过程,适合写脚本

提高了代码可读性

替代比较抽象且调用次数不多的函数,简化命名

内置函数

数值运算函数

字符串处理函数

例:

  • 数学运算函数

  • # 计算绝对值

  • >>> print(abs(-5))

  • 5

  • >>> print(abs(5))

  • 5

  • # 计算x的y次方

  • >>> print(pow(2,3))

  • 8

  • >>> print(pow(3,2))

  • 9

  • # 计算浮点数x保留n位小数

  • >>> print(round(4.567,1))

  • 4.6

  • >>> print(round(4.567,0))

  • 5.0

  • # 计算a除以b的商和余数,返回元组

  • >>> print(divmod(10,3))

  • (3, 1)

  • >>> print(divmod(16,3))

  • (5, 1)

  • >>>

  • 字符串处理函数

>>> str1 = 'i am bad boy'

>>> str2 = 'I AM BAD BOY'

>>> str3 = 'I Am Bad Boy'

>>> str4 = 'i am Bad Boy'

# 将字母转换为小写

>>> print(str2.lower())

i am bad boy

>>> str2  #变量的值不会改变

'I AM BAD BOY'

# 将字母全部转换为小写

>>> print(str1.upper())

I AM BAD BOY

# 将字母的大小写互换

>>> print(str3.swapcase())

i aM bAD bOY

# 字符串中的首字母大写

>>> print(str1.capitalize())

I am bad boy

# 将字符串中的首字母大写(每个)

>>> print(str4.title())

I Am Bad Boy

>>>

>>> str='i am bad boy

'# 字符串居左对齐,长度为20,不足部分用*补齐

>>> print(str.ljust(20,'*'))

i am bad boy********

# 字符串居右对齐,长度为20,不足部分用+补齐

>>> print(str.rjust(20,'+'))

++++++++i am bad boy

# 字符串居中对齐,长度为20,不足部分用-补齐

>>> print(str.center(20,'-'))

----i am bad boy----#

# 字符串居右对齐,长度为20,不足部分由0补充

>>> print(str.zfill(20))

00000000i am bad boy

>>>

拓展:

  • split() 通过指定分隔符对字符串进行切片

  • 语法:str.split(str='', num=string.count(str))

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

num – 分割次数。默认为 -1, 即分隔所有

如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。

  • splitlines()按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表

  • 语法:str.splitlines([keepends])

keepends – 在输出结果里是否去掉换行符

默认False,不包含换行符

True则保留换行符

  • join()将序列中的元素以指定的字符连接生成一个新的字符串

  • 语法:str.join(sequence)

sequence – 要连接的元素序列

# 以空格为分隔符,将字符串分割

>>> str1='i am Bad boy'

>>> list1=str1.split(' ')

>>> print(list1)

['i', 'am', 'Bad', 'boy']

# 去除换行,将字符串一行输出

>>> str1='I am \nBad boy'

>>> print(str1)

I am Bad boy

>>> list1=str.splitlines()

>>> print(list1)

['i am bad boy']

# 以*连接list1中的元素

>>> list1=['I','Am','Bad','boy']

>>> str1='*'

>>> print(str1.join(list1))

I*Am*Bad*boy

>>>

其他常用内置函数

help()

  • 查看命令帮助手册

>>> help()  #进入命令查询

...

help> print  #查询命令帮助

...

help> quit  #退出

...

>>> help(list)  #查看命令帮助手册

双击就可以查看命令帮助手册

>>>

type()

  • 查看变量类型

>>> a='555'>>> print(type(a))
<class 'str'>  #字符串>>> b=555>>> print(type(b))
<class 'int'>  #整型>>> c=['b','a','d']>>> print(type(c))
<class 'list'>  #列表

最后给大家一份Python的学习资料,也是我自己之前用的学习资料,感觉很不错。之前的文章里也有过分享 ,再一次分享是因为很好,之前有很多粉丝也领取了,学习的很不错,所以今天又拿出来免费的跟大家分享 ,希望大家多多转发 收藏,记得关注一下小编,谢谢你们的支持。感谢!

Python学习路线及757.6MB视频

1.Python的自述

2.Python开发环境的搭建

3.print函数的使用

4.转义字符与原字符

5.二进制与字符编码

6.保留字_标识符_变量及其使用

7.数据类型

8.Python中的注释

10.input函数的使用

11.算术运算符

12.赋值运算符

13.比较运算符

14.布尔运算符

15.位运算符

16.运算符的优先级

17.程序的组织结构_对象布尔值

18.单分支_双分支_多分支结构

19.嵌套if

20.条件表达式_pass语句

Python基础学习路线

Python757.6MB视频

学习Python 需要掌握的6大PPT

学习Python需要学习的PDF技术文档

Python不管是从学习路线到视频,到PPT,再到PDF技术文档,小编在这里已经全部整理完了,需要获取的小伙伴就可以转发此文,关注小编,私信小编“学习”就可以得到获取方式啦~~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
typing库:让你的代码阅读者再也不用猜猜猜
Python函数参数实例解读
【Python】Python基础笔记_python 笔记
Python中的基本函数及其常用用法简析
入门python,看完这个300行代码的例子,你们会喜欢的~
火力全开,一网打尽Python常用知识点!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服