自己想在ubuntu上写点脚本。就学了一些python.接下来将会把自己的学习经验记录一些。自己学的时候ubuntu16,自带的是2.7.12。所以是可以直接用的。当然,也可以安装更新的。不过需要把ubuntu默认的python指向改掉。这里就不说了。
首先是基础的学习:
我用的是菜鸟的课程,大致看一下,写一下例子。至于高级编程里面的,则是用到的时候再说吧。然后就是应用了。因为如果不用的话,是没有意义的。你花几个小时就可以学会python,但是几个小时后也就忘了。所以后面是用python写的爬虫和脚本的进阶。
下面是一些基础心得:
2. #coding=utf-8 就行了。解决中文乱码问题。但是不知道注释是有用的吗?貌似是历史遗留问题。先记着。
3. 建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用
4. python文件第一行#!/usr/bin/python的意义
这是脚本语言共同遵守的规则:当第一行为 #!/path/to/script/interpreter时,指定了用来执行本脚本的解释器。 注意: 1、必须是文件的第一行 2、必须以#!开头,你丢了一个惊叹号 3、/path/to/script/interpreter是脚本解释器的全路径名。 5. 从目前看,while和for,if后面加不加括号都是可以的。 6. 事实证明,括号都是可以加的。print后面也是如此
7. 函数里面的所谓关键字参数,就是变量名。如果传入参数的变量名和声明时的变量名相同,可以不按照声明顺序。
8. 关于重载,首先,函数名字相同,但是参数个数不同是可以的。参数相同也是可以的额。但是会执行最近的那个函数
9. 关于异常的执行顺序,如果没有异常,肯定先执行完try里面的代码然后是else里面的。一旦发生异常,异常后面的代码都不会执行
10. 类里面构造函数是双划线,不是单划线
11 py文件第二行,coding后面不能有空格。最好第一行第二行都不要有空格
12. id()加上对象可以得到对象的 id,说明py有点像java。从后面的gc也可以看出,确实很像。类的产生和回收都很像
13. 如网上所说,在子类里面调用父类的函数,除了要用父类,还需要self参数。另外,关于为什么不需要初始化父类,而且即使调用父类的全局变量也不会初始化父类。说明,父类的初始化只是用来对父类的对象的。对于子类没啥用。所以不需要调用初始化函数。另外,父类里面所有的变量(全局)都已经初始化了。所以不必担心。而且,父类所有的属性都在初始化函数里面
1. 其实python里面的函数前面或者什么地方都可以加上注释。只是说不是类的注释是显示不出来的。因为__doc__只能显示class前面的注释。
2. python里面类和变量名的关系和java一样,都是变量名是一个指针
3. 这里还有一个问题,就是python的继承里面,为什么不需要先初始化一个父类对象呢。感觉应该需要啊。话有说回来,java里面为什么需要呢?现在想起来的就是,因为java子类里面需要有一个this,需要用父类对象调用相应的函数。但是也许python直接用的是吧父类的函数给子类了。
5. 关于puthon的继承就是,不需要父类init,可以多重继承,还有一点,就是,在类里面调用变量和函数都是需要加上类名的。而且在子类里面调用父类需要self.另外,子类可以调用父类方法。但是优先使用自己的。这就涉及方法的重写和重载
6.关于属性的继承,子类是不会继承类属性的。除非是全局或者静态的(因为不知道到底叫什么名字).
7. 如果要继承,就要调用父类的init函数。这里还有一点,就是init实际上是private函数,因为符合private的标识,但是可以在父类里调用
8. 没有所谓的静态方法。类里面的方法一定要有self
9. %作为占位符的时候后面要加()
10. 类要先声明的。不是普通类型可以直接用