一、Python函数是什么

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

二、Python函数定义

定义一个由自己想要功能的函数,以下是规则:

1、函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

2、任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

3、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

4、函数内容以冒号起始,并且缩进。

5、return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

三、Python函数使用

1、python中定义函数所用的关键字是def, def 函数名() : 冒号代替其他编程语言的大括号,然后换行缩进写的代码就是函数体。( ```是文档注释)

def demo01():

'''

打印一个简单的函数

'''

print("Hello!")

demo01()

2、函数也可以嵌套。

def demo02(name):

def demo03(name):

print('字母:' + name)

demo03(name)

demo02('A')

3、python当中允许给函数的形参设置一个默认值,不传参数调用的话,就会使用默认值。

def welcome(name = 'A'):

print("Hello !" + name)

welcome("B")

welcome()

打印:

Hello !B

Hello !A

4、关键字参数让你可以不需要考虑函数的参数位置,只要以键值对形式指定参数的对应形参。

def welcome(name,address):

print("你好 {name} , 欢迎来到 {address} !")

welcome(address='这里',name='aaa')

5、有时需要允许用户提供任意数量的参数,函数的形参可以带个星号来接收,不管调用函数的时候传递了多少实参,都将被收集到形参这个变量当中,形参的类型是

元组

def welcome(*names):

print(names)

welcome('aaa','bbb','ccc','ddd')

还有一种就是带两个星号的形参,用于接收键值对形式的实参,导入到函数中的类型是

字典

def welcome(**names):

print(names)

welcome(name='aaa',age=20,sex='男')

6、分配参数是收集参数的相反操作,可使得一个元组或字典变量自动分配给函数中的形参。

def welcome(name,address):

print(f"你好 {name} , 欢迎来到 {address} !")

a = ('aaa','这里')

welcome(*a)

7、所有的函数都是有返回值的,如果没有指定返回值,那么默认会返回None。对应其他语言中的null。

8、匿名函数,区别与正常函数定义的流程,可以直接定义一个简单的函数并把函数本身赋值给一个变量,使得这个变量可以像函数一样被调用,在python中可以用lambda关键字来申明定义一个匿名函数。

四、Python代码执行过程

源码编译为字节码(.pyc) ——> Python虚拟机 ——> 执行编译好的字节码 ——> Python虚拟机将字节码翻译成相对应的机器指令(机器码)。

程序运行时,先编译字节码并保存到内存中,当程序运行结束后,Python解释器将内存中的字节码对象写到.pyc文件中。

第二次运行时,先从硬盘中寻找.pyc文件,如果找到,就直接载入,否则再次执行上面的过程。

五、Python基本数据类型

Python常用数据类型:整型(int)、浮点型(float)、字符串(string)、空值(None)、布尔值(True和False)、复数、类、函数等。

Python中

常量

的命名规则,变量名全大写为常量。

变量

的命名遵循标识符的命名规则。

六、Python变量在内存中的存储

对象:创建数据对象时,内存中会保存对象的值,这个值就是对象自己;

引用:对象保存在内存空间,外部想要使用对象的值,就需要使用引用来操作对象。当对象的引用为0时,对象会被回收。

七、可变数据类型和不可变数据类型

1、可变数据对象:列表(list)和字典(dict)

2、不可变数据对象:整型(int)、浮点型(float)、字符串(string)和元组类型(tuple)

不可变数据类型

:对象本身的值不可变,如果改变了变量的值,相当于新建了一个对象,而对于相同值的对象,在内存中只有一个对象。

可变数据类型

:允许变量的值进行改变,对于变量给值的过程中,只是改变了变量的值,而不会新建一个对象,所以可变数据类型的意思就是说对一个变量进行操作时,其值是可变的,值的变化并不会引起新建对象,即地址是不会变的,只是地址中的内容变化了或者地址得到了扩充。,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。

八、最后

作为自学过的人,我深深体会过没人带,没人问的感觉,所以我想把自己所学、实际工作中使用的技术、自学方法、心得、踩过的一些坑以及面试题都分享出来,群175317069。已经有很多同行加入群里,平时会交流一些技术问题,也可以互相介绍好的工作机会。

更多推荐

def demo什么意思python_你知道Python的所有入门级知识吗?,这些,都,会,了