小白学习python快速入门


 

  • 前言

      女票最近捣鼓着学习数据分析,梦想着有天能成为牛逼哄哄的数据达人。对于学习,不管出于什么目的,我从来都觉得是一件极好的事,于是积极怂恿她老人家学习数据分析利器--python,女票倒也是个知情达理之人,她说,学习可以,但是你得领我进门吧

      于是,这篇为一穷二白的编程小白学习python的文章就从我脑海里闪现出来,这篇文章旨在帮助那些没有任何python编程知识的人,快速熟悉python最基本特性和语言特点,可以在最短的时间内具备基本的阅读python源码的能力,进而更好地进行深度学习。

      注:本文所有实例基于windows 7系统,python3.5运行测试。

 

  • 第一部分 Hello World 篇

    1. python语言介绍

      python是一种跨平台的动态语言,大多数python代码几乎不用修改就能在所有的主流计算机平台上运行,其效率开发相对于传统语言(如c c++ java等)提升了数倍,而学习周期短,成本更低。python是一种动态语言,所以在运行代码之前不需要先编译,正是这种特性赋予了python语言更大的想象空间。 

      python是一种万能胶水语言,几乎能在所有领域得到应用,例如系统编程、用户图形接口、web、数据库编程、数据分析、图形处理、游戏、人工智能、云计算等等。

    2. 你的Hello Word

      首先去官网下载并安装python运行环境,安装过程十分简单,双击安装exe文件,按照提示一路往下点击即可,安装完成后在安装程序列表找到python自带的编辑器IDLE,打开它,得到如下界面

然后在 >>> 提示符后输入代码

print("hello world!")

点回车运行,结果如下:

至此,恭喜你,人生的第一段python代码已经运行成功。如此的轻松写意,怡然自得,遥想当年博主写c++的Hello World,那还真的有点折腾!

  • 第二部分 语法篇

  1. 变量/对象

     先说一下变量的含义,变量可以理解为,将程序中准备使用的一个数据赋给一个简短的、易于记忆的名字 ,然后在其他地方引用变量名而不是难以记忆的数据,例如

myage = 25 # 将整数28赋给变量myage,然后在程序其他地方需要用到数字28的时候,直接使用myage就可以了
myage = myage  + 1 #现在myage的值为26

然后看一下python语言主要的变量(对象)类型

英文名 中文名 举例
int 整形/数字 13,  6
string 字符串 "hi",  "你好"
list 列表 [1,2,3,4],  ["xyz",1,2]
dict 字典 {"key":1,"value":"home"}
tuple 元组 (1,"we",)
set 集合 set('abcd')
other 其他类型 None,  布尔型等

定义变量(对象)的几个例子:

myage = 25                   # 定义整形变量myage,它的值是25
myname = "maybetodaystudio"  # 定义字符串变量myname,它的值是maybetodaystudio、
mydict = {"salary":18000}    # 定义字典变量mydict 

    由于python是动态语言,所以定义变量的时候不需要显式指出变量的类型,编译器会根据赋值自动判断变量类型,而且变量的类型是可以改变的,这和传统的静态语言有很大的不同,参考下面几个例子

//c++代码
int myage = 25; //定义整形变量myage,值为25 mygae的类型一直到程序结束,都只能是int类型
# python代码
myage = 25                 # 定义整数变量myage,其值为25
myage = "maybetodaystudio" # myage 的类型现在变成了字符串,而不是整数

     接着我们来看一下,整形的常用操作,看例子

字符类型的常用操作,看例子

这里只是列举了int和string的几种常用的操作,可以通过dir(变量名)的方式来查询变量支持的操作,更多的方法请自行学习

有一个需要特别注意的地方:python变量在使用之前一定要先定义否则会引发NameError异常,看下面两个例子:

# 第一段代码
a = 5
c = a + b #error!b在使用之前没有被定义

# 第二段代码
a = 5
b = 6
c = a + b # OK

    2.  语句

python常用的语句

语句 含义 举例
= 为变量赋值 a = 5
函数调用 执行函数 str.upper()
print 打印信息 print("hello world")
if/elif/else 选择操作 见下文
for/else 循环/迭代操作 见下文
while 循环操作 见下文
def 定义函数或者方法 见下文
return 返回函数结果 见下文
import 导入模块 import os
class 定义类对象 见下文
其他 raise、yiled等  

我们先看一下python语句块和传统语言如C++的区别

//c++代码
if ( a > b)
{
    a = 5;
    b = 6;
}
# python代码
if a > b:
    a = 5
    b = 6

由上两个代码片段可以看出以下三点:

第一,python的语句块需要冒号(:),新手很容易犯的一个错误就是漏了这个冒号

第二,python语句结束的时候不需要分号(;)

第三,缩进的结束就是代码块的结束,这个也是新手比较难适应的。

接下来看下几个常用语句的例子

'''
if语句用于选择操作,其语法如下
if 条件1:
    语句块1
elif 条件2:
    语句块2
'''
#例子
a = 5
b = 6
c = 4
if a > 10:  # 如果a大于10,将b的值赋值给a
    a = b
elif a < 7: # 如果a小于7,将c的值赋值给a
    a = c
else:       # 如果上面两个例子都不成立,将0赋给a 
    a = 0

'''
while语句用于循环,其语法如下
while 条件:
    语句块
'''
#例子
a = 5
while a > 0: # 如果a大于0,则执行下面的减1操作,循环结束后,a的值为0
    a = a - 1 
'''
for语句用于迭代/循环
'''
#例子
mylist = [1,2,3,4]   #定义一个列表对象
for i in mylist :    #遍历mylist,输出1,2,3,4
    print(i) 
'''
def语句用于定义函数
return语句用于返回函数的返回值
'''
#例子
def add(a,b):  #定义一个函数add,它实现的功能是将参数a b相加,然后返回它们的和
    c = a + b
    return c

num = add(1,2) #调用add函数
print(num)     #输出3

     3. 注释

     代码注释指的是程序的解析或者说明,注释的字符不会被执行,对程序来说,它们是透明的。python代码注释主要有两种方式,分别是单行注释和多行注释

单行注释:使用#号

myage = 25 #我是一个单行注释 哈哈,我是透明的

多行注释:使用 ''' '''

'''
我是多行注释
哈哈
我也是透明的
'''

有一个需要注意的地方,在python语言中,变量对象几乎是等义的,所以把任何的一个变量理解为对象。

  • 第三部分 面向对象篇

      类是python语言的一种类型,相对于python内置的类型如int,string等而言,类是一种自定义的类型。

      类是python面向对象程序设计的主要工具,也是较为高级的话题,面向对象的程序设计是可选的,所以初学者在学习初期可以不使用类,更建议使用函数等更简单的结构。

      定义类需要用到关键字class,见下文例子

class Person:
    pass       #占位符,什么都不做

上面的代码定义了一个类,类的名称是person,目前person是个空的类,什么事都不做。

   2. 实例

     实例由类创建,类提供实例的默认行为,实例是程序处理的实际对象。

     每次调用类,都会产生新的对象。

class Person:
    pass

#创建实例
per = Person()

   3. 数据属性

     数据属性又可以称为成员变量,python的数据属性有两种:类数据属性和实例数据属性。

class Person:
    country = "china"
    def __init__(self, name, age): #类的构造函数
        self.name = name
        self.age = age

per = Person("huahua","18")
print(per.name)
print(per.age)
print(Person.country)

上面定义了类person

country属于类的数据属性,name和age属于实例的数据属性,运行结果如下:

     4. 方法属性

      方法又可以称为成员函数,其定义了python类的具体行为。

      python的方法有三种:实例方法、静态方法和类方法

      实例方法:实例方法的第一个参数必须是self,self类似于C++中成员函数中的的this。实例方法只能通过类实例来进行调用,这时候self就代表这个类实例本身。通过self参数可以直接访问实例的属性。

      类方法:类方法以cls作为第一个参数,cls表示类本身,定义的时候需要使用@classmethod装饰器。通过cls可以访问类的相关属性。

      静态方法:静态方法没有参数限制,既不需要实例参数,也不需要类参数,定义的时候需要使用@staticmethod装饰器

class Person:
    country = "china"
	# 类的构造函数
    def __init__(self, name, age): 
        self.name = name
        self.age = age
	
	# 实例方法
    def getname(self):             
        return self.name
	
	# 类方法 只能通过类调用
    @classmethod
    def printclassname(cls):       
	    print (cls.__name__)       # 打印类名称
	
	# 静态方法 类或者实例都可以调用
    @staticmethod
    def staticmethodtest():          
        print ("静态方法测试")

per = Person("huahua","18")
name = per.getname()
print(name)
per.staticmethodtest()
Person.staticmethodtest()
Person.printclassname()

运行结果

     5. 继承

      继承为代码重用以及定制类行为提供了良好的保证。

      继承语法:

            class 子类名(父类名):

见下文例子

class Person:
    def test1(self):
         print("调用父类方法")

class Student(Person): #Student继承于Person
    def test2(self):
         print("调用子类方法")

stu = Student()
stu.test1() # 从父类继承的方法
stu.test2()

运行结果如下:

  • 第四部分 工具篇 

    1. python三大神器

      pip :安装包应用

      virtualenv : 不同的项目独立的开发环境

      fabric :服务器管理和应用发布

pip和virtualenv是我目前用得最多的两个工具,fabric目前用得比极少,强烈建议自行学习这三个工具,特别是前两个。

    2. 集成开发环境(ide)

      开发python有很多的编辑器可以选择:pycharm,Visual Studio,eclipse,Visual Studio Code,sublime_text 等

      以上ide我都用过,个人最推荐的是sublime_text,其优点是:软件占用内存小,启动快,安装插件方便,界面主题很多,出错提示人性化。

  • 第五部分 实例

      要运行python实例,首先要知道python解析器是怎么运作的,python解析代码的过程很简单:从头到尾逐一执行。

      运行python代码有4种方式:

      1. 在python自带的idle运行(文章开始的Hello World就是在idle运行的)

      2. 在命令行里运行

        windows系统同时按下 win + r ,在弹出的运行框输入cmd就可以打开DOS窗口,如下

然后输入python敲回车,一切正常的话,会出现下图的界面,然后使用方法和idle一样。

如果敲回车后,提示:python不是内部或者外部命令,说明python可能没有安装,又或者python的系统环境变量配置有问题。

     3. 保存成文件的形式来运行

       这里将会给出一个很简单的分析数据的例子。

       新建一个.txt文件

       文件命名为: test.txt

       文件内容是:111111111;222222222;333333333;444444444;5555555555;66666666;

       然后,再test.txt文件的相同目录下,新建一个.py文件

       文件命名为:test.py

       文件内容是

readfile= open('test.txt') # 打开txt文件
text = readfile.read()     # 读文件
readfile.close()           # 关闭打开的txt文件

mylist  = text.split(';')  # 分割数据
print(mylist)              # 打印输出

然后打开DOS窗口,进入test.py文件所在的路径

我的py文件放在D盘的测试脚本文件夹下,所以需要做一下三步

敲入命令 D: 然后敲回车

敲入命令 cd D:\测试脚本 然后敲回车

输入命令 python test.py 然后敲回车

运行结果如下:

    4. 通过集成开发环境运行(ide)

  • 结语

      如果你能看到这里,恭喜你,你的一只脚的其中半个脚掌中的其中3个脚指头已经迈进python编程的大门。

      python语言涵盖的内容非常多,覆盖的领域也非常广,这篇文章,只是涉及了python基础知识的一些皮毛,学完本文章的知识以后,正常来说,你将对python有一个整体的认识,能读懂简单的python源码,自己也能开发一些简单的小demo,但若想真正掌握python,那你需要静下心来,读读书,敲敲代码,坚持下去,有一天,你会从小白华丽转身,成功转型小黑的。

      这是我技术博客生涯写的第一篇真正意义上的文章,python语言虽说,我也用了接近2年,但因为不是主要的工作语言,所以,掌握的程度也不算很深,所以,行文措辞难免有不当的地方,如有任何错误,欢迎朋友们不吝赐教,大家共同学习,共同进步。

 

 

暂无评论

注册用户登录后才能发表或者回复评论,请先登录 注册。