Python基础学习笔记:函数教程 一篇文章让你掌握python函数_一文带你掌握python函数(2)

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

return [expression]


默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。


##### 实例


以下是一个简单的 Python 函数,它将一个字符串作为传入参数,再打印到标准显式设备上。



def printme( str ):
“打印传入的字符串到标准显示设备上”
print(str)
return


#### 2. 参数传递


在 python 中,类型属于对象,变量是没有类型的:



a=[1,2,3]
a=“Runoob”


以上代码中,[1, 2, 3] 是 List 类型,“Runoob” 是 String 类型,而变量 a 是没有类型的,它仅仅是一个对象的引用(一个指针),可以是 List 类型对象,也可以指向 String 类型对象。


##### 可更改(mutable)与不可更改(immutable)对象


在 python 中,strings, tuples 和 numbers 是不可更改的对象,而 list, dict 等则是可以修改的对象。


* 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际上是新生成一个 int 值对象10,再让 a 指向它,而 5 被丢弃,不是改变 a 的值,相当于新生成了 a。
* 可变类型:变量赋值 la=[1, 2, 3, 4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身 la 没有动,只是其内部的一部分值被修改了。


**python 函数的参数传递:**


* 不可变类型:类似 C++ 的值传递,如整数、字符串、元组。如 fun(a),传递的只是 a 的值,没有影响 a 对象本身。比如在 fun(a) 内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
* 可变类型:类似 C++ 的引用传递,如列表、字典。如 fun(a),则是将 la 真正传过去,修改后 fun 外部的 la 也会受影响。


python 中一切都是对象,严格意义上我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。


##### python 传不可变对象实例



def ChangeInt( a ):
a = 10

b = 2
ChangeInt(b)
print (b) # 结果是 2


##### 传可变对象实例



可写函数说明

def changeme( mylist ):
“修改传入的列表”
mylist.append([1,2,3,4])
print ("函数内取值: ", mylist)
return

调用changeme函数

mylist = [10,20,30]
changeme( mylist )
print ("函数外取值: ", mylist)


#### 3.参数


以下是调用函数时可使用的正式参数类型:


* 必备参数
* 关键字参数
* 默认参数
* 不定长参数


##### 必备参数


必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。


调用 printme() 函数,你必须传入一个参数,不然会出现语法错误。



#可写函数说明
def printme( str ):
“打印任何传入的字符串”
print (str)
return

#调用printme函数
printme()


##### 关键字参数


关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 python 解释器能够用参数名匹配参数值。



#可写函数说明
def printinfo( name, age ):
“打印任何传入的字符串”
print ("Name: ", name)
print ("Age ", age)
return

#调用printinfo函数
printinfo( age=50, name=“miki” )


##### 默认参数


调用函数时,默认参数的值如果没有传入,则被认为是默认值。下例会打印默认的 age,如果 age 没有被传入:



#可写函数说明
def printinfo( name, age = 35 ):
“打印任何传入的字符串”
print ("Name: ", name)
print ("Age ", age)
return

#调用printinfo函数
printinfo( age=50, name=“miki” )
printinfo( name=“miki” )


##### 不定长参数


你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名。



可写函数说明

def printinfo( arg1, *vartuple ):
“打印任何传入的参数”
print ("输出: ")
print (arg1)
for var in vartuple:
print (var)
return

调用printinfo 函数

printinfo( 10 )
printinfo( 70, 60, 50 )


加了星号(\*)的变量名会存放所有未命名的变量参数。


#### 4.匿名函数


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


* lambda 只是一个表达式,函数体比 def 简单很多。
* lambda 的主体是一个表达式,而不是一个代码块。仅仅能在 lambda 表达式中封装有限的逻辑进去。
* lambda 函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
* lambda 函数虽然看起来只能写一行,却不等同于 C 或 C++ 的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。


##### 语法


lambda 函数的语法只包含一个语句,如下:



lambda [arg1 [,arg2,…argn]]:expression


如下实例:



可写函数说明

sum = lambda arg1, arg2: arg1 + arg2

调用sum函数

print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))


#### 5.return 语句



### 最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

#### 👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

![](https://img-blog.csdnimg.cn/img_convert/604bae65027d4d67fb62410deb210454.png)

#### 👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

![](https://img-blog.csdnimg.cn/img_convert/fa276175617e0048f79437bd30465479.png)



#### 👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

![](https://img-blog.csdnimg.cn/img_convert/16ac689cb023166b2ffa9c677ac40fc0.png)



#### 👉实战案例👈



学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。



因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

![](https://img-blog.csdnimg.cn/img_convert/0d8c31c50236a205928a1d8ae8a0b883.png)



#### 👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

![](https://img-blog.csdnimg.cn/img_convert/99461e47e58e503d2bc1dc6f4668534a.png)

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值