python学习指南之起步

2018-08-21  本文已影响32人  码上就说

开始向python靠拢,没有什么其他的原因,想搞人工智能相关的东西,python处理大数据方面有较大的优势。开始开展自己的python学习计划。

一、起步训练

python 基础教程

1.1 基础语法

1.1.1 中文编码
查看python版本.png
退出点击Ctrl + D
python 2.x的时候还不是默认支持中文的,输出中文,显示如下:
python 2.x中文错误.png
这时候需要加上: # -- coding: UTF-8 -- 或者 #coding=utf-8
python 3.x默认是支持utf-8的,所以不需要加中文编码。
1.1.2 基础语法
  • 标识符区分大小写
  • 行和缩进区分代码块
  • “#” 表示注释
  • 逻辑运算符:or and not
  • print后面加 ;表示换行,加 , 表示不换行。
  • 控制台输入使用input,input会精确到类型;raw_input只能输入字符串,python3.x已经废弃了raw_input

1.2 File 操作

1.2.1 读文件
# !/usr/bin/python

def file_read(filePath):
    fo = open(filePath, "r");
    line = fo.readline();
    while line:
        print line,
        line = fo.readline();
    fo.close();


FILE="/Users/jeffli/Developer/python/test.txt";
file_read(FILE);

read: 一次读取整个文件,需要较大的内存。
readline: 每次读取一行。
readlines: 一次读取整个文件,以列表的形式存储。

1.2.2 写文件
def file_write(filePath):
    fo = open(filePath, "w");
    fo.write("One \nTwo\nThree\nFour\n");
    fo.close();

FILE="/Users/jeffli/Developer/python/test2.txt";
file_write(FILE);

1.3 面向对象

1.3.1 代码实例
# !/usr/bin/python

class Car(object):
    count = 1;

    def __init__(self, name, brand, price):
        self.name = name;
        self.brand = brand;
        self.price = price;
        # self.count += 1;
        print "Hello, I am a car.";

    def displayContent(self):
        print "Name =",self.name,",brand =",self.brand,",price = ",self.price;


class LittleCar(Car):
    def __init__(self, name, brand, price):
        super(LittleCar, self).__init__(name, brand, price)
        self.name = name;
        self.brand = brand;
        self.price = price;
        print "Hello, I am a Little Car.";

    def displayContent(self):
        super(LittleCar, self).displayContent();

instance = LittleCar("X5", "BMW", 23.5);
instance.displayContent();

如果Car没有继承object的话,会出现下面的错误:

TypeError: super() argument 1 must be type, not classobj

这是因为python的super只能用于新类,不能用于经典类,所谓经典类,就是不用继承任何类的类。例如object,但是实例中的Car类显然是一个新类,那么必须要继承一个类。

上一篇下一篇

猜你喜欢

热点阅读