一、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的所有入门级知识吗?,这些,都,会,了
发布评论