一、了解开发语言
1、高级语言:Python,Java,C++,C#,PHP,JS,Go,Ruby,SQL,Swift,Perl,Objective-C,R等等;
2、低级语言:C语言、汇编;
PS:为了好分类,这里说的高级、低级不是说语言本身的高低级,高级语言更抽象化,更靠上层,低级语言更靠计算机底层硬件,所有的高级语言内部都是依赖C语言来实现的。高级语言---->背后是C语言---->背后是汇编(0101机器码)---->机器执行
3、字节码和机器码
1>字节码由高级语言转换生成;
2>机器码是计算机硬件能够直接运行的。
二、各语言之间的对比
1、以上说的高级语言大致可以分为以下两大类:
1>PHP类:只适用于写网页,有局限性;
2>Python、Java等类:既可以写网页,也可以写后台功能(业务软件等)。
-Python:执行效率比Java低,但开发效率高;
-Java:执行效率比Python高,但开发效率低;
-语言和语言之间速度之类的差异其实很小,关键在于你是否有一个优秀的程序员,一个优秀的程序员他用Python写的程序,也比一般的程序员用Java写的程序运行速度更快,更稳定。
2、只要做程序开发,如果想深入,想不断上升,以后一般来说一定要自学C语言,因为它是其他高级语言的基础。
三、Python的种类
1、Python最近越来越火,有很多公司都尝试着结合自己公司语言推出各个公司自己的Python版本,比较常见的有CPython、JPython(Java Python)、JavaScriptPython、RubyPython、IronPython、PyPy等等。在上面这些Python版本种类中,我们一般选择CPython来学习,下面这张图就说明了为什么:

2、PyPy,这是用CPython开发的Python版本,相当于CPython的升级版,它的执行速度比Python快很多(其实是第一次执行没这么快,但是第二次及以后就很快了,原因是第一次代码执行,转换后的运行机器码PyPy会拿在手上,下次运行就直接机器码去运行,而Python拿在手上的是字节码,每次运行还得转换成机器码运行)
-速度方面:PyPy > CPython > JPython、RubyPython这一类;
-但是,PyPy现在还不够稳定,还不是主流,现在的主流仍然是用CPython;
-以后我们可以用CPython写好代码,然后装一个PyPy把代码扔给他执行就行了。
四、Python安装
1、下载安装软件
1.1 下载
-官网:https://www.python.org/downloads/
-Python2:在继续更新(使Python2越来越靠近Python3, 2020停止支持)。
-Python3:一直在更新,我们现在学习Python就下载Python3版本。
1.2 安装
-Windows:无脑点,安装时记得勾上为Python创建环境变量,省得后面自己配。
-Linux:新版本的Linux发行版本一般都是自带Python2的,比如CentOS 7(Ubuntu 18.04自带的Python3),如果没Python3.X的可以再装一个3.X的版本(两个版本同时存在要配置一下,不然yum会报错,CentOS 7上的配置过程洪卫在另一个随笔里写了http://www.cnblogs.com/shwee/p/9015059.html)。
1.3 环境变量
-Windows系统里面安装刚才说了只要安装时勾上为其创建环境变量即可,Linux上面洪卫在另一个随笔写了http://www.cnblogs.com/shwee/p/9015059.html。
2、Python安装在系统上
2.1 执行操作
-写一个文件,文件中按照Python的规则写,将文件交给Python软件,读取文件中的内容,然后进行转换和执行,最终获取结果
-Python软件---->Python解释器(做内存管理)
3、Python基础知识
3.1 第一句Python
-后缀名可以是任意的(这就是为何叫python解释器)
-导入模块时,如果不是.py文件会报错
===>所以以后文件名统一都写成.py的形式
3.2 两种执行方式
-Python解释器 .py文件路径
-Python IDLE 进入解释器交互界面:实时输入并获取执行结果
-Linux系统下:
-文件名运行 ./test.py
-文件内部头部要加上下面声明:#!/usr/bin/env python ----这一句是在Linux系统中特意需要的Python3解释器路径声明。
-接着在第二行加上: # _*_ coding:utf8 _*_ ----当然,用python3版本的解释器运行就不需要加这一句声明了,因为Python3版本默认的编码格式就是utf-8,而Python2不是默认utf-8编码格式。
-这两句如果要写,就要写在文件最开头的两行,且中间不能间插其他行进来,不然就不会生效了。
3.3 介绍一下编码格式
-最早的编码:ASCII,在美国产生,用八位来编码表示一个字符。
-后来各个国家都在使用计算机,都出台自己国家的编码格式,为了全球都能通用统一编码,国际统一搞出了个万国码:Unicode,为了国际通用,它是用16位以上(至少16位,也就是两个字节)的比特位来表示一个字符,但是这样的话每个不同的字符都是用16位以上的比特位来编写表示,但是就像ASCII编码上面的一个字符八位就可以表示了,所以这样有点浪费空间。
-所以后面又搞出个utf-8的编码格式,utf-8规定,一个字符能用多少位表示就用多少位,比如一个英文字母用8位表示,一个汉字用24位(3个字节)表示,不是像unicode上统一都用16位以上来表示,所以这样比较节省空间,而且又做到了全球通用。
-在Python3中,默认utf-8的编码格式,因此文件开头无需特别说明,但是Python2如果想要使用中文,就必须要做声明,不然显示会乱码;
-当然,如果写一个文件只有中文,用GBK,GBK-2312这样的国标码当然比较好。
五、开始Python学习
介绍完上面的东西,好了,我们来学习Python编写代码:
1、首先来认识变量名:
-在python中我们常用字母、数字、下划线来组合形成变量名,它们的组合有一定的规则,那就是数字不能作为变量名开头,变量名不能是python关键字,最好不要和python内部的东西(比如某个函数、方法的名字,例如sum([1, 2, 4, 5, 8]),用sum作变量名使用求和方法sum()时就不会生效)一样
-python中的关键字有:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | help("keywords")  #查Python关键字的命令Here isa listof the Python keywords.  Enter anykeyword to get more help.FalsedefifraiseNonedelimportreturnTrueelifintryandelseiswhileas                 exceptlambdawithassertfinallynonlocal        yieldbreakfornotclassfromorcontinueglobalpass | 
-变量名可以是生活的写照,尽量让变量名起得有意义一些,比如用户的id信息,我们可以用user_id来表示,比如我们在编程中要经常用到一句话,我们可以定义变量名:str_u = '从你的全世界路过' ,等等
2、程序员第一句,让计算机输出显示一句“你好,Python!”
| 1 2 3 4 5 6 | # !/usr/bin/env python# -*- coding: utf-8 -*-print('你好,Python!')输出结果:你好,Python! | 
3、接下来我们来看看基本数据类型:
3.1 <字符串>
-字符串我们要用引号引起来,这样Python解释器程序一读到这一句话,碰到引号引起来的内容,他就会把引号里面的东西(全部)当做字符串处理,当然在Python中,单引号,双引号,三引号等都能识别,如下:
name = '我是shw' name = "我是shw" name = '''我是shw''' name = """我是shw"""
-当然在python中字符串可以直接做加法:
| 1 2 3 4 | n1 ="shw"n2 ="nb"n3 =n1 +n2print(n3)输出结果:shwnb | 
-也可以做乘法:
| 1 2 3 4 | n1 ="shw"n2 =n1 *3print(n2)输出结果:shwshwshw | 
3.2 <数字>
-在Python中我们可以做数字的数学运算(加减乘数,取商取余):
| 1 2 3 4 5 6 7 8 9 10 11 | n1 =30n2 =4n3 =n1 +n2    #加法n4 =n1 -n2    #减法n5 =n1 *n2    #乘法n6 =n1 /n2    #除法n7 =n1 %n2    #取余数n8 =n1 //n2    #取商print(n3, n4, n5, n6, n7, n8)输出结果:34261207.527 | 
4、学习条件语句
4.1 if条件基本语句
| 1 2 3 4 5 6 7 8 9 10 11 12 | #例一if条件:    内部代码块1    内部代码块2else:    ...print('-----end------')#例二if条件:    pass#什么都不执行,过的意思print('-----end------') | 
4.2 if语句的嵌套
| 1 2 3 4 5 6 7 8 9 | if条件:    if条件:        if条件:            if条件:                ...            else:        else:    else:else: | 
4.3 多条件判断if语句
| 1 2 3 4 5 6 7 8 | if条件:    代码块elif条件:    代码块elif条件:    代码块else:    ... | 
PS:在Python中用强制缩进(四个空格)来区分代码块,其他语言比如Java是用{}来区分,比如:
| 1 2 3 | if条件{   代码块} | 
5、循环语句
5.1 死循环
| 1 2 3 | #死循环,一直输出ok   while1==1:    print('ok') | 
5.2 条件循环
| 1 2 3 4 5 6 | #条件循环,屏幕输出十次okcount =0whilecount < 10    print('ok')    count =count +1print('------over------') | 
六、练习题
涉及if条件语句,while循环语句,奇偶数,数字运算,变量定义等
1、使用while循环输出1、 2、 3、 4、 5、 6、 8、 9
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | n =1whilen < 10:    ifn ==7:        pass    else:        print(n)    n =n +1print('------over------')输出结果:12345689------over------ | 
2、输出1~100的所有奇数
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | n =1whilen < 101:    temp =n %2    iftemp ==0:        pass    else:        print(n)    n =n +1print('------over------')输出结果:13579111315171921232527293133353739414345474951535557596163656769717375777981838587899193959799------over------ | 
3、求1~100的所有数的和
| 1 2 3 4 5 6 7 8 9 10 11 | n =1s =0whilen < 101:    s =s +n    n =n +1print('sum = ', s)print('-------over------')输出结果:sum=5050-------over------ | 
4、输出1~100的所有偶数
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | n =1whilen < 101:    temp =n %2    iftemp ==0:        print(n)    else:        pass    n =n +1print('------over------')输出结果:2468101214161820222426283032343638404244464850525456586062646668707274767880828486889092949698100------over------ | 
5、求1-2+3-4+5-...+99-100的所有数之和
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | n =1s =0whilen < 101:    temp =n %2    iftemp ==0:        s =s -n    else:        s =s +n    n =n +1print('sum = ', s)print('-------over------')输出结果:sum=-50-------over------ |