python学习笔记(1)

| 分类 python学习  | 标签 python 

0x00 说在前面

其实说实话,我也不知道怎么就心血来潮突然走向图书馆借了两本Python入门的书,按照我以前的习惯,学习一门语言我是极其讨厌捧着一本书从头看到尾的,我一贯的作风也是要做什么就去搜什么,所以还记得之前的校内实习,要做个简单的购物商城网站,刚开始想用用什么写就想了好几天,最后想就PHP吧,这么火,作为一个紧跟时尚潮流的程序员怎么能不会呢?于是嗒嗒的跑去图书馆借了两本PHP入门的书(= =||| 怎么跟今天辣么像!),但是最终到整个网站都完成了,却发现书基本就没翻过,只是偶尔遇到几个语法不知道怎么用的查了一下,再往后就是学习Node也是。。。

不过都算了,其实最主要的原因还是python是我以前一直想学但始终没有“正式”的学过一门语言。而现在又正好基本结束了大学里面的主要工作,过不了多长时间就该滚蛋了,想想的确是很长时间没有学点什么新的东西了,一直想着将来从事什么样的职业,却从来没有向理想迈进一步。前段时间一位名人杨绛过世了,于是她的诗歌、著作以及经典名言等一时广泛流传,唯一对她有点印象的就是大概初中的时候语文课上有一篇她的文章,好像是纪念钱钟书的吧,除此以外一无所知,直到她过世前一天,我甚至连那篇文章都不记得,后来看到朋友圈各种生平简介才有所印象。不过说真的,有一句话,真的是极其对的,据传是有一位读者给她写了一封信,大概讲自己遇到了什么烦恼,然而她只回了短短几个字——你的问题就在于读书不多而想的太多。

这回真的算了,大学生涯的尾声,再学点东西,结束,也是开始!

0x01 Python语法基础

缩进

Python代码不像C++或者java中可以随意缩进,而是根据缩进来对代码进行分块的,一般采用4个空格,行尾的“:”表示下一行代码缩进的开始,错误的缩进可能导致错误甚至无法运行。

注释

以“#”开头表示单行注释,以三个单引号“’’‘”,或者三个双引号“””“”表示多行注释。

断行

如果某一行的内容太多,可以在最后加上“\”,在下一行继续表示内容,但是“\”之后就不允许有任务内容。

输入输出

Python程序输入调用input([info])函数,函数中可以添加提示信息,所有的输入都是以字符串返回,其他类型需要强制转换。输出就是用print(value, …, sep=’’, end=’\n’)函数,其中value是输出值,sep是每个值的分隔符,end是最后一个符号。

0x02 Python基本数据类型

Python中基本数据类型和C、C++以及java等都差不多,主要有int,string,float三种。

类型转换

1
2
3
str(object) 	#将对象转化为字符串
int(x, base) 	#将数字字符串或数值转化为整数,base表示进制
float(x)	#将字符串或数值转化为浮点数

原始字符串

在字符串前以r或R作为标志,里面的所有字符都将表示原始含义,而不是转义后的。

中文字符串

在网络上发送字符串时必须要转化成字节的形式,那么就要使用字符串encode(encoding=’‘,errors=’strict|ingore|replace’)方法,返回字节串。还原时使用decode方法。

0x03 结构数据类型

列表

list()或者直接使用[]就可以创建一个列表,列表中可以包含不同的数据类型,

元组(tuple)

与列表不同的是,元组一旦创建就不能改变,既不能改变其中的数据的值,也不能增添或删除项,可以用tuple()或者()创建一个元组。当创建只有一个元素的元组时,元素后面要有一个‘,’。

字典(dict)

字典类型就相当于c++中的map,是以“键:值”的形式存在的,但是字典中元素是无序的,并且只能通过键来访问,而不能通过位置访问。可以使用dict()或者{}来创建字典。

逻辑值

None表示没有值的对象,True为真,False为假,其中逻辑假包括0、False、True、空字符串、空元组、空列表和空字典等。
Python中逻辑运算符and、or和not。
Python中允许连接使用比较运算符,当且仅当所有比较运算结果都成立时结果才为真。如1<2<=3位为真,1<4<=3为假。
is和is not表示左右两边是否指向同一个对象,in和not in表示某个元素是否存在于多个成员数据类型当中,对于字典而言则是键,而不是值。

序列

序列表示索引为非负整数的有序对象集合。一个序列可以从左往右依次从0开始标号,也可以从右往左从-1开始标号。
序列的切片是指形如[start:end:step]来取序列中部分成员数据项。例如对于a=[0,1,2,3,4,5,6,7]:
a[:] 表示所有成员
a[:-1] 除最后一个成员
a[0:5:2]0-4每隔一个取一个,0,2,4
a[::-1] 从右至左取全部成员

0x04 控制语句执行流程

for循环

for循环的一般格式是

for 循环变量 in 遍历对象:<br>
else:

其中else表示如果循环没有被break终止则会执行else中的内容。
循环中有个很有意思的东西,就是迭代函数,不同的迭代函数返回序列的不同信息,Python内置的几种常用的迭代函数有:enumerate,sorted,reversed,zip。其中enumerate(seq)既返回序列中的元素又返回元素的编号,sorted则先返回元素小的然后返回元素大的,reversed则反向遍历,zip表示并行遍历,如for i,j,k in zip(seq1, seq2, seq3), 则i,j,k同时遍历三个序列,循环次数三个序列中最短的一个序列长度。

推导

所谓推导的含义就是从一个数据集推出另一个数据集,Python中典型的推导格式为:[< i相关表达式> for i in 可遍历对象]。
例如square = [i ** i for i in range(1,11)], 就表示1-10中所有平方的结果。推导中最后同样还可以加if条件推导,例如square = [i ** i for i in range(1,11) if i%2==0],则结果为所有偶数的平方。


上一篇     下一篇