Day1
Python简介
Python,是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。Python开发者的思路是“用一种方法,最好只有一种方法来做一件事”(There should be one-- and preferably only one—obvious way todo it)。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花哨的语法,而选择明确没有或者很少有歧义的语法。
Python语言特点:
简单—Python是一种代表简单主义思想的语言
简洁—可以使用比JAVA、C++更少的代码量实现同样的功能
易学—Python有极其简单的语法
优雅—强制缩进使得程序更加清晰和美观
解释性—编译性语言(C、C++)源文件经过编译器编译成机器代码的可执行文件,再执行;Python程序不需要编译成二进制代码,你可以直接从源代码运行程序,在计算机内部,Python解释器把源代码转换成称为与平台无关的字节码的中间形式,然后再把它翻译成计算机使用的机器语言并执行,而不是将其编译成底层的二进制代码,这个特性也决定Python的主要“缺点”,执行速度赶不上C、C++。
面向对象—Python既支持面向过程的编程也支持面向对象的编程,在“面向过程”的语言中,程序是由实现功能的函数构建起来的;在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的,与JAVA类似,Python的所有元素,均是对象
丰富的库—Python标准库很庞大,它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、FTP、电子邮件、XML、WAV文件、GUI和其他与系统有关的操作
免费、开源—Python是FLOSS(自由/开放源码文件)之一。简单的说,你可以自由的发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中
可移植性—由于它的开源本质,Python已经被移植到许多平台上,你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了。
可扩展性—在Python中嵌入其他语言(C、C++等等)。
较低的开发调试成本—在文本编辑器中编辑,在shell下执行,或者直接在shell下执行代码。
Python语法:
缩进:Python中不使用{ }(C语言经典语法格式)作为函数和语句块的分界线,而是用缩进来区分语句块,用不同的缩进代表不同的代码块的逻辑层次
注释:在语句开始处使用“#”作为注释,C语言中是//或/*……*/
三种引入方式:
1. import modulename:引入整个module,但是使用库的函数或者类时,需要以modulename.func()或者modulename.class()形式使用;
2. from modulename import*:引入整个模块
3. from modulename import XX:引入模块的部分内容其中2和3,可以不加modulename直接使用函数名
Python函数:
Python的函数支持递归、默认参数值、可变参数,但不支持函数重载;使用关键字”def”作为函数定义的开始,使用”:”做函数名的结束,函数无需申明(解释性的特性)
Python采用动态类型系统,在编写代码的时候,可以不显式的指定变量的类型,Python自动识别变量类型;支持强制类型转换;Python本身是强类型的,操作符和函数执行是需要关注变量类型的
变量类型:Str、List、Tuple、Set、Dict、Int、Float、Bool、Complex
List类型:List类型是一个元素的有序集合,列表中的元素的数据类型可以各不相同,使用“[]”来定义。例如:[1,2,3,4]、[‘strA’, ‘strB’, ‘strC’]、[‘span’, 2, 0.5, [10, 20]]
可对List类型对象操作的函数:
append:用于在列表末尾追加一个新的元素,列表调用该方法后,直接被该方法修改;
count:用于统计某个元素在列表中出现的次数;
extend:在列表的末尾一次性追加另一个列表中的多个元素,该方法也是直接修改原列表,这也是与列表连接操作的区别;
index:找出某个匹配项第一次出现的索引;
insert:在列表中插入新的对象;
pop:移出列表中的一个值(默认是最后一个),并返回该元素的值;
remove:用于移除某个值在列表中的第一个匹配项;
reverse:将列表中的值反向存取;
sort:对列表进行排序;
sorted内建函数:对序列进行反序,并返回一个列表;
元组(Tuple):
元组与列表相似,也支持元素为不同数据类型,但元组的元素是不可变的,元组一旦创建,用任何方法都不可以修改其元素。使用“( )”来定义,(10, 20, 30), (‘str1”, 2.0, 1)
字典类型:(dict)字典是键值对的无序集合,字典中每个元素都包含两个部分:键和值,向字典中添加一个键的同时,必须为该键添加一个值,实际使用中,只可以使用键来查询值使用“{ }”定义,{‘key1’:’Value1’, ‘server’:’jboss