Python从入门到放弃---------学习笔记以及坑
试试多坚持一下啦。
打算先按照http://old.sebug.net/paper/python/ch02s02.html 教程学习基础。
已装python3.5环境,pyCharm,sublime Text
之后再学习爬虫和web方向,web结合flask。
一 、入门基础
cmd里python进入环境,ctrl+z退出环境。
打印的时候就有个坑,由于python版本问题,和教程上不同。

print的话单引号双引号都可以。
cmd进入python环境后help(str),可以查询str相关方法,q退出环境. 命令行还是难用,走了一遍流程,之后用pyCharm学习。
数:在Python中有4种类型的数——整数、长整数、浮点数和复数,复数暂时不了解。
二 、字符串 : 'What\'s your name?'。 \转义 或者"What's your name?" 用\\表示\

自然字符串? 即使转义字符不具有转义,所见即所得。 常用语爬虫正则。
一般字符串
"Newlines are indicated by \\n"
等价于“自然字符串”
r"Newlines are indicated by \n"
Unicode是书写国际文本的标准方法,而utf-8是Unicode的实现方式之一。
字符串是不可变的,意味着拼接之后就是个新的对象。
三 、标识符 :比如变量名,方法名

四、对象 : python中用到的任何东西都是对象,包括数,字符串,函数。
python使用变量时,只需要给它赋值,而不需要生命数据类型。
python中不使用分号,自然换行。
缩进 : python是严格缩进的,这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
我强烈建议你在每个缩进层次使用单个制表符或两个或四个空格。
选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即只使用这一种风格。
五、运算符的优先级:
我建议你使用圆括号来分组运算符和操作数,以便能够明确地指出运算的先后顺序,使程序尽可能地易读。例如,2 + (3 * 4)显然比2 + 3 * 4清晰。与此同时,圆括号也应该正确使用,而不应该用得过滥(比如2 + (3 + 4))。

尽管我们没有在'Area is'和变量area之间指定空格,Python自动在那里放了一个空格,这样我们就可以得到一个清晰漂亮的输出,而程序也变得更加易读(因为我们不需要担心输出之间的空格问题)。这是Python如何使程序员的生活变得更加轻松的一个例子。
六、控制流 :
break语句是用来终止循环语句的
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环
七、函数 :


注意,没有返回值的return语句等价于return None。None是Python中表示没有任何东西的特殊类型。例如,如果一个变量的值为None,可以表示它没有值。
除非你提供你自己的return语句,每个函数都在结尾暗含有return None语句。

八、模块
每个Python模块都有它的__name__,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

dir
你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。
当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。

九、 数据结构
列表:

print打印,自动换行,加, 也没用。。
我们使用列表的sort方法来对列表排序。需要理解的是,这个方法影响列表本身,而不是返回一个修改后的列表——这与字符串工作的方法不同。这就是我们所说的列表是可变的而字符串是不可变的。
元祖:


字典 :
相当于map,key必须是唯一的。
面向对象 :
域就是变量。
self: 假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。
内存回收时候有个坑,是按照字典从大到小来回收的,所以如果类对象在其实例被回收前就已经被回收,则当实例被回收时 del方法被调用,引用的变量就不存在,所以会报错。
读写:

直接file,就创建文件。
异常,和java的差不多。
由于在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。如果使用的是**前缀,多余的参数则会被认为是一个字典的键/值对。
*相当于java中可变参数。
至此,python简明教程学完啦。