十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
创新互联公司主要从事网站制作、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务南平,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
Python的特点如下:
1、简单
Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
2、易学
Python极其容易上手,因为Python有极其简单的说明文档 。
3、速度快
Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
4、免费、开源
Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
5、高层语言
用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
6、可移植性
由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
7、解释性
一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。
运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。
在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
8、面向对象
Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
9可扩展性
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
10、可嵌入性
可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
11、丰富的库
Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
12、规范的代码
Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。
参考资料来源:百度百科—Python
Python是一门大家都比较熟悉的一门计算机语言,也是比较简单的一门计算机语言,相对于来说更加简单一些,而且也是不少人进入行业内的首要选择。
Python是一门好用又简单易学的计算机编程语言,在近几年中,Python受到了不少IT人士的追捧,热度也是越来越高了,成为了我们入门首选的编程语言,为什么呢?因为Python具有非常广泛的应用范围,在人工智能、web开发之中具有非常好的应用,同时在金融分析、爬虫等领域也具有很大的作用。
1、Python采用C语言进行开发,但是Python不再有C语言中的指针等复杂的数据类型存在。
2、Python具有很强的面向对象特性,同时也简单化了面向对象的实现,可以消除保护类型、抽象类、接口等面向对象的元素。
3、Python代码可以使用空格或者制表符缩进的方式分割代码。
4、Python仅仅只有31个保留字,而且没有分号、begin、end等标记。
5、Python是强类型的语言,变量创建之后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。
一、函数的定义
函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用函数名即可
特性:
减少重复代码
使程序变得可扩展
使程序变得易维护
二、函数的参数
2.1、形参和实参数
形参,调用时才会存在的值
实惨,实际存在的值
2.2、默认参数
定义:当不输入参数值会有一个默认的值,默认参数要放到最后
2.3、 关键参数
定义: 正常情况下,给函数传参数要安装顺序,不想按顺序可以用关键参数,只需要指定参数名即可,(指定了参数名的就叫关键参数),但是要求是关键参数必须放在位置参数(以位置顺序确定对应的参数)之后
2.4、非固定参数
定义: 如你的函数在传入参数时不确定需要传入多少个参数,就可以使用非固定参数
# 通过元组形式传递
# 通过列表形式传递
# 字典形式(通过k,value的方式传递)
# 通过变量的方式传递
三、函数的返回值
作用:
返回函数执行结果,如果没有设置,默认返回None
终止函数运行,函数遇到return终止函数
四、变量的作用域
全局变量和局部变量
在函数中定义的变量叫局部变量,在程序中一开始定义的变量叫全局变量
全局变量作用域整个程序,局部变量作用域是定义该变量的函数
当全局变量与局部变量同名是,在定义局部变量的函数内,局部变量起作用,其他地方全局变量起作用
同级的局部变量不能互相调用
想要函数里边的变量设置成全局变量,可用global进行设置
五、特殊函数
5.1、嵌套函数
定义: 嵌套函数顾名思义就是在函数里边再嵌套一层函数
提示 在嵌套函数里边调用变量是从里往外依次调用,意思就是如果需要调用的变量在当前层没有就会去外层去调用,依次内推
匿名函数
基于Lambda定义的函数格式为: lambda 参数:函数体
参数,支持任意参数。
匿名函数适用于简单的业务处理,可以快速并简单的创建函数。
# 与三元运算结合
5.3、高阶函数
定义:变量可以指向函数,函数的参数可以接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数 只需要满足一下任意一个条件,即是高阶函数
接收一个或多个函数作为输入
return返回另一个函数
5.4、递归函数
定义:一个函数可以调用其他函数,如果一个函数调用自己本身,这个函数就称为递归函数
在默认情况下Python最多能递归1000次,(这样设计师是为了防止被内存被撑死)可以通过sys.setrecursionlimit(1500)进行修改
递归实现过程是先一层一层的进,然后在一层一层的出来
必须有一个明确的条件结束,要不然就是一个死循环了
每次进入更深层次,问题规模都应该有所减少
递归执行效率不高,递归层次过多会导致站溢出
# 计算4的阶乘 4x3x2x1
# 打印数字从1-100
5.5、闭包现象
定义:内层函数调用外层函数的变量,并且内存函数被返回到外边去了
闭包的意义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,优先使用自己外层包裹的作用域
Python函数的参数类型主要包括必选参数、可选参数、可变参数、位置参数和关键字参数,本文介绍一下他们的定义以及可变数据类型参数传递需要注意的地方。
必选参数(Required arguments)是必须输入的参数,比如下面的代码,必须输入2个参数,否则就会报错:
其实上面例子中的参数 num1和num2也属于关键字参数,比如可以通过如下方式调用:
执行结果:
可选参数(Optional arguments)可以不用传入函数,有一个默认值,如果没有传入会使用默认值,不会报错。
位置参数(positional arguments)根据其在函数定义中的位置调用,下面是pow()函数的帮助信息:
x,y,z三个参数的的顺序是固定的,并且不能使用关键字:
输出:
在上面的pow()函数帮助信息中可以看到位置参数后面加了一个反斜杠 / ,这是python内置函数的语法定义,Python开发人员不能在python3.8版本之前的代码中使用此语法。但python3.0到3.7版本可以使用如下方式定义位置参数:
星号前面的参数为位置参数或者关键字参数,星号后面是强制关键字参数,具体介绍见强制关键字参数。
python3.8版本引入了强制位置参数(Positional-Only Parameters),也就是我们可以使用反斜杠 / 语法来定义位置参数了,可以写成如下形式:
来看下面的例子:
python3.8运行:
不能使用关键字参数形式赋值了。
可变参数 (varargs argument) 就是传入的参数个数是可变的,可以是0-n个,使用星号( * )将输入参数自动组装为一个元组(tuple):
执行结果:
关键字参数(keyword argument)允许将任意个含参数名的参数导入到python函数中,使用双星号( ** ),在函数内部自动组装为一个字典。
执行结果:
上面介绍的参数可以混合使用:
结果:
注意:由于传入的参数个数不定,所以当与普通参数一同使用时,必须把带星号的参数放在最后。
强制关键字参数(Keyword-Only Arguments)是python3引入的特性,可参考:。 使用一个星号隔开:
在位置参数一节介绍过星号前面的参数可以是位置参数和关键字参数。星号后面的参数都是强制关键字参数,必须以指定参数名的方式传参,如果强制关键字参数没有设置默认参数,调用函数时必须传参。
执行结果:
也可以在可变参数后面命名关键字参数,这样就不需要星号分隔符了:
执行结果:
在Python对象及内存管理机制中介绍了python中的参数传递属于对象的 引用传递 (pass by object reference),在编写函数的时候需要特别注意。
先来看个例子:
执行结果:
l1 和 l2指向相同的地址,由于列表可变,l1改变时,l2也跟着变了。
接着看下面的例子:
结果:
l1没有变化!为什么不是[1, 2, 3, 4]呢?
l = l + [4]表示创建一个“末尾加入元素 4“的新列表,并让 l 指向这个新的对象,l1没有进行任何操作,因此 l1 的值不变。如果要改变l1的值,需要加一个返回值:
结果:
下面的代码执行结果又是什么呢?
执行结果:
和第一个例子一样,l1 和 l2指向相同的地址,所以会一起改变。这个问题怎么解决呢?
可以使用下面的方式:
也可以使用浅拷贝或者深度拷贝,具体使用方法可参考Python对象及内存管理机制。这个问题在Python编程时需要特别注意。
本文主要介绍了python函数的几种参数类型:必选参数、可选参数、可变参数、位置参数、强制位置参数、关键字参数、强制关键字参数,注意他们不是完全独立的,比如必选参数、可选参数也可以是关键字参数,位置参数可以是必选参数或者可选参数。
另外,python中的参数传递属于对象的 引用传递 ,在对可变数据类型进行参数传递时需要特别注意,如有必要,使用python的拷贝方法。
参考文档:
--THE END--
Python函数调用的特点是。函数的多变性。在python中,参数通过赋值传递给了函数(也就是说,就像我们所学过的,使用对象引用),在python中,调用者以及函数通过引用共享对象,但是改变传递的可变对象可以改变调用者共享的那个对象。
表示一个功能,函数定义着是提供功能的人,函数调用者是使用功能的人。
print:打印功能,将括号中的内容,显示到终端。
将括号中的内容显示在控制台.
input:输入功能,从终端中获取输入的信息,存到程序变量当中
作用:将用户输入的内容赋值给变量
第一个字符必须是字母表中字母或下划线 _ 。
标识符的其他的部分由字母、数字和下划线组成。
标识符对大小写敏感。
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下: