Python学习笔记_01

style=”font-size: 18pt;”>目录

style=”font-size: 14pt;”>1.Python言语简介

style=”font-size: 14pt;”>2.Python中常用数据结构

style=”font-size: 18px;”>2.1怎么是列表?

style=”font-size: 18px;”>2.2如何是元组?

style=”font-size: 18px;”>2.3如何是字典?

style=”font-size: 18px;”>2.4索引及分片

style=”font-size: 14pt;”>3.别的基本概念

style=”font-size: 18px;”>3.1数据类型和变量

style=”font-size: 18px;”>3.2生成器

style=”font-size: 18px;”>3.3迭代器

style=”font-size: 18px;”>3.4模块

 

 


1.Python语言简介

提升历史:

 
Python是由吉多 van
罗斯尔um在八十时期末和九十时代初,在荷兰王国国度数学和电脑科研所设计出来的。

  Python
本身也是由许多别样语言发展而来的,那包涵ABC、Modula-③ 、C、C++、Algol-6八 、SmallTalk、Unix shell
和别的的脚本语言等等。

 
像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public
License)协议。

 
未来Python是由三个骨干开发集团在保证,,Guido van 罗斯尔um
仍旧占有着关键的机能,指引其展开。

 

特点:

 
Python是一种解释型的、面向对象的、带有动态语义的高档程序设计语言。

 
完毕同三个义务,C语言要写一千行代码,Java只必要写100行,而Python只怕只要20行。

 

功能:

 
用Python能够做什么?能够做一般职分,比如自动备份你的mp5;能够做网站,很多显赫的网站包含YouTube正是Python写的;能够做互连网游戏的后台,很多在线娱乐的后台都以Python开发的。同理可得正是能干很多众多事啊。

 
Python当然也有无法干的作业,比如写操作系统,那几个只能用C语言写;写手提式有线话机使用,只好用Swift/Objective-C(针对Nokia)和Java(针对Android);写3D游戏,最好用C或C++。

 

切合开发哪些类型应用呢?

 
首要采取是互联网选用,蕴含网站、后台服务等等;

 
其次是不少家常须求的小工具,包含系统一管理理员需求的脚本职责等等;

 
其它就是把其他语言开发的程序再封装起来,方便使用。

 
许多巨型网站正是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包涵谷歌(Google)、Yahoo等,甚至NASA(美利坚同盟国航空航天局)都大方地行使Python。

 

缺点:

 
第三个缺陷正是运转速度慢,和C程序比较一点也非常的慢,因为Python是解释型语言,你的代码在履行时会一行一行地翻译成CPU能分晓的机器码,那一个翻译进度至极耗费时间,所以非常的慢。而C程序是运作前一向编写翻译成CPU能实施的机器码,所以11分快。

 
首个毛病正是代码不可能加密。假如要发布你的Python程序,实际上正是发表源代码,这点跟C语言不相同,C语言不用发表源代码,只需求把编写翻译后的机器码(约等于您在Windows上海高校规模的xxx.exe文件)公布出来。要从机器码反推出C代码是非常的小概的,所以,凡是编写翻译型的言语,都不曾那几个难点,而解释型的语言,则必须把源码宣布出去。

 

 


2.Python中常用数据结构

2.1怎么样是列表?

   
List(列表) 是 Python 中使用最频仍的数据类型。

 列表可以做到超过贰分之一集合类的数据结构完成。它接济字符,数字,字符串甚至能够分包列表(所谓嵌套)。

 列表用[
]标识。是python最通用的复合数据类型。看这段代码就驾驭。

 列表中的值得分割也足以用到变量[头下标:尾下标]国家地理,,就能够截取相应的列表,从左到右索引暗许0起头的,从右到左索引默许-1先导,下标能够为空表示取到头或尾。

 

 
加号(+)是列表连接运算符,星号(*)是双重操作。如下实例:

 #!/usr/bin/python
 # -*- coding: UTF-8 -*-

 list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
 tinylist = [123, 'john']

 print list # 输出完整列表
 print list[0] # 输出列表的第一个元素
 print list[1:3] # 输出第二个至第三个的元素 
 print list[2:] # 输出从第三个开始至列表末尾的所有元素
 print tinylist * 2 # 输出列表两次
 print list + tinylist # 打印组合的列表

 

   
以上实例输出结果:

 ['abcd', 786, 2.23, 'john', 70.2]
 abcd
 [786, 2.23]
 [2.23, 'john', 70.2]
 [123, 'john', 123, 'john']
 ['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

 

 

2.2怎么是元组?

 
元组是另一个数据类型,类似于List(列表)。

 
元组用”()”标识。内部因素用逗号隔绝。不过成分不可能1回赋值,也正是只读列表。

 #!/usr/bin/python
 # -*- coding: UTF-8 -*-

 tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
 tinytuple = (123, 'john')

 print tuple # 输出完整元组
 print tuple[0] # 输出元组的第一个元素
 print tuple[1:3] # 输出第二个至第三个的元素 
 print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
 print tinytuple * 2 # 输出元组两次
 print tuple + tinytuple # 打印组合的元组

 

   以上实例输出结果:

('abcd', 786, 2.23, 'john', 70.2)
 abcd
 (786, 2.23)
 (2.23, 'john', 70.2)
 (123, 'john', 123, 'john')
 ('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

 

  
以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:

#!/usr/bin/python
 # -*- coding: UTF-8 -*-

 tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
 list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
 tuple[2] = 1000 # 元组中是非法应用
 list[2] = 1000 # 列表中是合法应用

 

 

2.3什么是字典?

 
字典(dictionary)是除列表以外python之中最灵敏的放置数据结构类型。列表是寸步不移的靶子结合,字典是严节的对象集合。

 
两者之间的区分在于:字典个中的成分是经过键来存取的,而不是透过偏转移存入取。

 
字典用”{ }”标识。字典由索引(key)和它对应的值value组成。

 #!/usr/bin/python
 # -*- coding: UTF-8 -*-

 dict = {}
 dict['one'] = "This is one"
 dict[2] = "This is two"

 tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


 print dict['one'] # 输出键为'one' 的值
 print dict[2] # 输出键为 2 的值
 print tinydict # 输出完整的字典
 print tinydict.keys() # 输出所有键
 print tinydict.values() # 输出所有值

 

2.4索引及分片

索引:列表也许元组中的全部因素都以有号码的——从0发轫递增。这个要素得以通过号码分别走访,如下图所示:

>>> greeting = ‘Hello’

>>> greeting[0]

‘H’

 

 
能够经过索引获取成分。全数列表只怕元组能够透过那种措施展开索引。使用负数索引时,正是从列表最终3个因素初始计数,尾数第①为-1,尾数第四个为-2,依次遵照负数大小从右往左相对值大小递增编号。

 

分片:与使用索引来访问单个元素看似,能够应用分片操作来访问必将范围内的要素。分片通过冒号隔开分离的七个索引来完结:

>>> numbers = [1,2,3,4,5,6,7,8,9,10]

>>> numbers[3:6]

[4,5,6]

>>> numbers[0:1]

[1]

 

 
简单来讲,分片操作的落到实处内需提供五个目录作为边界,第二个目录的要素是包罗在分片内的,而第1个则不办含在分片内。

 

 


3.别的基本概念

3.1数据类型和变量

数据类型:

 
在内部存款和储蓄器中贮存的数码可以有七类别型。

 
例如,person.s年龄作为2个数值存款和储蓄和她或她的地方是字母数字字符存款和储蓄。

   
 Python有一对标准项目用于定义操作上,他们和为她们每种人的存款和储蓄方法恐怕。

   
 Python有三个规范的数据类型:

  Numbers(数字)

  String(字符串)

  List(列表)

  Tuple(元组)

  Dictionary(字典)

变量:

     
Python中的变量不需求阐明,变量的赋值操作既是变量表明和概念的经过。

 
种种变量在内部存款和储蓄器中开创,都不外乎变量的标识,名称和数目这个音讯。

 
每一个变量在选拔前都不能够不赋值,变量赋值现在该变量才会被成立。

 
等号(=)用来给变量赋值。

 
等号(=)运算符右侧是八个变量名,等号(=)运算符左侧是储存在变量中的值。

 

3.2生成器

 
通过列表生成式,大家能够直接创造七个列表。但是,受到内部存款和储蓄器限制,列表容积肯定是少数的。而且,成立一个包罗100万个因素的列表,不仅占用非常的大的囤积空间,假使大家只是须求拜访前边多少个因素,这前边绝超越1/2要素占用的半空中都白白浪费了。

 
所以,要是列表成分得以服从某种算法推算出来,那我们是还是不是能够在循环的历程中不断推算出后续的要素呢?那样就无需创制完整的list,从而省去多量的空中。在Python中,这种单方面循环一边盘算的编制,称为生成器:generator。

 

3.3迭代器

 
能够间接效果于for循环的数据类型有以下二种:

 
一类是聚众数据类型,如list、tuple、dict、set、str等;

 
一类是generator,包罗生成器和带yield的generator function。

 

 
那么些能够直接功用于for循环的目的统称为可迭代对象:Iterable。

 
而生成器不但能够功能于for循环,还足以被next()函数不断调用并重临下3个值,直到最后抛出StopIteration错误表示无能为力持续回来下2个值了。

 
可以被next()函数调用并不断再次来到下八个值的对象称为迭代器:Iterator。

 
生成器都以Iterator对象,但list、dict、str即使是Iterable(是可迭代对象),却不是Iterator。

 
凡是可效果于for循环的对象都以Iterable类型;

 
凡是可效果于next()函数的指标都以Iterator类型,它们表示三个惰性总结的行列;

 
集合数据类型如list、dict、str等是Iterable但不是Iterator,然则能够通过iter()函数获得1个Iterator对象。

 

3.4模块

 
模块让您可见有逻辑地组织你的Python代码段。

 
把有关的代码分配到二个 模块里能让你的代码更好用,更易懂。

 
模块也是Python对象,具有自由的名字属性用来绑定或引用。

 
不难地说,模块便是二个封存了Python代码的文书。模块能定义函数,类和变量。模块里也能包罗可实施的代码。

 

 

参考资料:

1.http://www.shouce.ren/api/view/a/4615

2.https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

 

相关文章