python中函数部分内容的解析
本篇文章给大家带来的内容是关于python中函数部分内容的解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
在python中,变量没有类型,一个对象的引用,类型属于对象
变量的本质上是一个占位符!通常用小写字母命名变量。
一:语法
def 函数名(参数列表):
函数体
(函数名命名一般用小写字母 + 单下划线数字等组合)
二:常用函数的类型
(1)带参数的函数:参数须以正确的顺序传入函数
(2)默认参数函数:未传递参数,则会使用默认参数,默认参数不在最后,会报错!
(3)关键字参数:函数调用使用关键字参数来确定传入的参数值
(4)不定长参数:函数能处理比当初声明时更多的参数,
①*args中所有的变量都会被包装成一个元组存放所有未命名的变量
②**args中所有变量都会被包装成一个字典
(5)声明函数时,参数中星号 * 可以单独出现,*之后的的参数必须用关键字传入
(6)匿名函数,使用lambda函数创建匿名函数
①lambda 只是一个表达式,函数体比 def 简单很多
②lambda的主体是一个表达式,而不是一个代码块
③函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
三:python 函数的参数传递:
不可变类型:
类似 c++ 的值传递,如 int、string、tuple。
如fun(a),传递的只是a的值,没有影响a对象本身。
比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身.
可变类型:
类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
python中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象
四:变量作用域
python 中的作用域一般有四种:
L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内建作用域
查找规则是L->E->G->B
Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用域的,也就是说这些语句内定义的变量,外部也可以访问。
五:全局变量与局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。
(1)global用来修改全局变量的值
(2)nonlocal要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了
六:函数调用中的技巧(重要)
函数名.__doc__获取函数的帮助文档
函数名可以作为另一个函数的形参
多个返回值以元组的方式返回
内部函数,不修改全局变量可以访问全局变量!!
内部函数,修改同名全局变量,则python会认为它是一个局部变量!!
七:关于命名
(1)文件名:全小写,可以使用下划线
(2)函数名:小写,小驼峰原则
(3)变量名:全部小写,下划线连接
详细的命名规则参考PEP8
八:几个特殊的函数
map
reduce
filter
# --------------------------------------------------------------------------# # 函数的语法及调用 # --------------------------------------------------------------------------# def func(func_name, number): # 函数的定义 """打印输入的任何字符串""" print(func_name, number) return 'Done' func('func_1', 'faith') # 函数的调用 # --------------------------------------------------------------------------# # 不定长参数函数,封装成元组 # --------------------------------------------------------------------------# def func_1(func_name, *number): """ 打印输入的任何字符串 """ print(type(number)) print(func_name, number) return 'Done' func_1('func_1', 1, 2, 2, 3) def func_2(func_name, number): # print(type(number)) print(func_name, number) return 'Done' func_2('func_2', (1, 2, 2, 3)) def func_3(func_name, *number): print(func_name) print(number[3]) # 根据元组index中一部分变量 print(number[4]) return 'Done' func_3('func_3', 1, 2, 2, 3, 'aaa', 'abc') # get out question: the number of index isn't known in most case! # --------------------------------------------------------------------------# # 不定长参数函数,封装成字典 # --------------------------------------------------------------------------# def func_4(func_name, **number): # 可变参数必须在函数参数的最后 # print(type(number)) print(func_name, number) return 'Done' func_4('func_4', name='faith') # --------------------------------------------------------------------------# # 命名关键字函数 # --------------------------------------------------------------------------# def func_5(a, x, c, *, china, uk): print('func_5:', china, uk) print(a, x, c) func_5(1, 2, 3, china='bJ', uk='rs') # 调用时必须加上关键字 # func_5(1, 2, 3, 'bJ', 'rs') # --------------------------------------------------------------------------# # 函数应用之-递归 # --------------------------------------------------------------------------# def my_sum(i): if i < 0: raise ValueError # 抛出错误 elif i <= 1: return i else: return i + my_sum(i - 1) print(my_sum(1.4)) # --------------------------------------------------------------------------# # 传递不可变对象实例 # --------------------------------------------------------------------------# def change_int(a): a = 10 b = 2 change_int(b) print(b) # 结果是2 # --------------------------------------------------------------------------# # 传递可变对象实例 # --------------------------------------------------------------------------# def change_me(mylist): mylist.append([1, 2, 3, 4]) print("函数内取值: ", mylist) return myList = [10, 20, 30] change_me(myList) print("函数外取值: ", myList) # --------------------------------------------------------------------------# # 函数内修改全局变量的值 # --------------------------------------------------------------------------# money = 200 # 模块里面的全局变量 def add_money(): global money money = money + 1 return money print("修改后的值money = ", add_money()) # --------------------------------------------------------------------------# # 匿名函数 # --------------------------------------------------------------------------# sum_1 = lambda arg1, arg2: arg1 + arg2 # 调用sum函数 print("相加后的值为 : ", sum_1(10, 20)) print("相加后的值为 : ", sum_1(20, 20)) # 单独编译一个文件时候输出结果 if __name__ == "__main__": pass
Atas ialah kandungan terperinci python中函数部分内容的解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Pengenalan kepada fungsi Python: penggunaan dan contoh fungsi abs 1. Pengenalan kepada penggunaan fungsi abs Dalam Python, fungsi abs ialah fungsi terbina dalam yang digunakan untuk mengira nilai mutlak nilai tertentu. Ia boleh menerima hujah berangka dan mengembalikan nilai mutlak nombor itu. Sintaks asas fungsi abs adalah seperti berikut: abs(x) dengan x ialah parameter berangka untuk mengira nilai mutlak, yang boleh menjadi integer atau nombor titik terapung. 2. Contoh fungsi abs Di bawah kami akan menunjukkan penggunaan fungsi abs melalui beberapa contoh khusus: Contoh 1: Pengiraan

Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi isinstance Python ialah bahasa pengaturcaraan berkuasa yang menyediakan banyak fungsi terbina dalam untuk menjadikan pengaturcaraan lebih mudah dan cekap. Salah satu fungsi terbina dalam yang sangat berguna ialah fungsi isinstance(). Artikel ini akan memperkenalkan penggunaan dan contoh fungsi isinstance dan memberikan contoh kod khusus. Fungsi isinstance() digunakan untuk menentukan sama ada objek ialah contoh kelas atau jenis tertentu. Sintaks fungsi ini adalah seperti berikut

Dengan penggunaan bahasa pengaturcaraan Python yang meluas, pembangun sering menghadapi masalah "ralat kod keras" dalam proses menulis program. Apa yang dipanggil "ralat pengekodan keras" merujuk kepada menulis nilai berangka tertentu, rentetan dan data lain terus ke dalam kod dan bukannya mentakrifkannya sebagai pemalar atau pembolehubah. Pendekatan ini mempunyai banyak masalah, seperti kebolehbacaan yang rendah, kesukaran untuk mengekalkan, mengubah suai dan menguji, dan ia juga meningkatkan kemungkinan ralat. Artikel ini membincangkan cara menyelesaikan masalah ralat berkod keras dalam fungsi Python. 1. Apa yang susah

Pengenalan kepada fungsi Python: Penggunaan dan contoh fungsi dir Python ialah bahasa pengaturcaraan sumber terbuka, peringkat tinggi dan ditafsirkan. Ia boleh digunakan untuk membangunkan pelbagai jenis aplikasi, termasuk aplikasi web, aplikasi desktop, permainan, dll. Python menyediakan sejumlah besar fungsi dan modul terbina dalam yang boleh membantu pengaturcara dengan cepat menulis kod Python yang cekap. Antaranya, fungsi dir ialah fungsi terbina dalam yang sangat berguna, yang boleh membantu pengaturcara melihat sifat dan kaedah dalam objek, modul atau kelas.

Pengenalan kepada fungsi Python: Peranan dan contoh fungsi penapis Python ialah bahasa pengaturcaraan berkuasa yang menyediakan banyak fungsi terbina dalam, salah satunya ialah fungsi penapis. Fungsi penapis digunakan untuk menapis elemen dalam senarai dan mengembalikan senarai baharu yang terdiri daripada elemen yang memenuhi syarat yang ditetapkan. Dalam artikel ini, kami akan memperkenalkan fungsi penapis dan memberikan beberapa contoh untuk membantu pembaca memahami penggunaan dan potensinya. Sintaks fungsi penapis adalah seperti berikut: penapis(fungsi

Pengenalan kepada fungsi Python: Fungsi dan contoh penggunaan fungsi globals Python ialah bahasa pengaturcaraan berkuasa yang menyediakan banyak fungsi terbina dalam, antaranya fungsi globals() adalah salah satu daripadanya. Artikel ini akan memperkenalkan fungsi dan contoh penggunaan fungsi globals(), dengan contoh kod khusus. 1. Fungsi fungsi globals Fungsi globals() ialah fungsi terbina dalam yang mengembalikan kamus pembolehubah global modul semasa. Ia mengembalikan kamus yang mengandungi pembolehubah global, di mana

Python ialah bahasa pengaturcaraan peringkat tinggi yang popular dengan sintaks yang ringkas dan mudah difahami, perpustakaan standard yang kaya dan sokongan komuniti sumber terbuka Ia juga menyokong pelbagai paradigma pengaturcaraan, seperti pengaturcaraan berorientasikan objek, pengaturcaraan berfungsi, dsb. Khususnya, Python digunakan secara meluas dalam pemprosesan data, pembelajaran mesin, pengkomputeran saintifik dan bidang lain. Walau bagaimanapun, Python juga mempunyai beberapa masalah dalam pengaturcaraan berbilang benang atau berbilang proses. Salah satunya ialah ketidakamanan bersama. Artikel ini akan memperkenalkan cara menyelesaikan kebimbangan konkurensi dalam fungsi Python dari aspek berikut:

Pengenalan kepada fungsi Python: Pengenalan dan contoh fungsi julat Python ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dalam pelbagai bidang Ia mudah dipelajari dan mempunyai perpustakaan fungsi terbina dalam yang kaya. Antaranya, fungsi julat adalah salah satu fungsi terbina dalam yang biasa digunakan dalam Python. Artikel ini akan memperkenalkan fungsi dan penggunaan fungsi julat secara terperinci, dan menunjukkan aplikasi khususnya melalui contoh. Fungsi julat ialah fungsi yang digunakan untuk menjana jujukan integer Ia menerima tiga parameter, iaitu nilai permulaan (.
