python 零基础学习之路 02-python入门
不知不觉学习python已经两个月了,从一开始不知道如何对print的格式化,到现在可以手撸orm,这期间真的是
一个神奇的过程。为了巩固自己的基础知识,为后面的拓展埋下更好的伏笔,此文当以导师的博客来仔细的复习。老
师的博客地址http://www.cnblogs.com/linhaifeng/p/7278389.html。
首先第一天学习的便是python入门,即对python基础以及编程语言进行了简单的介绍。
一 编程与编程语言
首先python是一门编程语言,我们要学python首先要搞明白编程的目的是什么,什么是编程语言,什么是编程。
编程的目的:计算机的发明,是为了用机器取代、解放人力,而编程的目的则是将人类的思想流程按照某种能够被
计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑一样自动执行的效果。
什么是编程语言:上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员
与计算机沟通的介质。
什么是编程:编程即程序员根据要求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含
一堆字符的文件。程序在未运行前跟普通文件无异,只有程序在运行时,文件内所写的字符才有特定的语法意义。
二 编程语言分类
机器语言:直接用二进制编程,直接操作硬件;
汇编语言:用简写的英文标识符取代二进制去编写程序,本质仍然是直接操作硬件;
高级语言:用人类的字符编写程序,屏蔽了硬件操作。
高级语言必须被翻译成计算机能读懂的二进制才能被执行,按照翻译方式分类为:
编译型(需要编译器,相当于谷歌翻译):如C,执行速度快,调试麻烦。
解释型(需要解释器,相当于同声传译):如python,执行速度慢,调试方便
总结:
机器语言
优点是最底层,执行速度最快
缺点是最复杂,开发效率最低
汇编语言
优点是比较底层,执行速度最快
缺点是复杂,开发效率最低
高级语言
编译型语言执行速度快,不依赖语言环境运行,跨平台差
解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行
一句话概括:三种语言学习难度从高到低,执行效率从高到低,开发效率从低到高。在编程世界里,速度不
是关键(瓶颈理论),开发效率高才是王道。
三 主流编程语言示例: C,C++,C#,Python,PHP,JavaScript等等。
四 python介绍:导师博客上写的非常详细,本文是以复习知识要点为主要目的,便不再阐述。
要点:1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python
已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
python解释器的种类:
1、CPython:CPython是使用最广且被的Python解释器。本教程以CPython为准。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
2、IPython:IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
3、pypy:PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
4、Jython:Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
5、IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
五 变量
1、定义变量会有:id,type,value。
2、等号比较的是value,is比较的是id。id相同,意味着type和value必定相同;value相同type肯定相同,但id可能不同。
六 用户与程序交互
1、在python3中input:用户输入任何值,都存成字符串类型。
在python2中input:用户输入什么类型,就存成什么类型;raw_input:等于python3的input。
2、代码注释分单行和多行注释, 单行注释用#
,多行注释可以用三对双引号""" """
3、文件头 #!/usr/bin/env python
# -*- coding: utf-8 -*-
七 基本数据类型
1、int整型: age=10 #age=int(10)
2、float浮点型:salary=3.1 #salary=float(3.1)
3、complex复数型:x=1-2j ; x.imag ; x.real
4、字符串:name='egon' #name=str('egon')
5、列表:students=['egon','alex','wupeiqi',] #students=list(['egon','alex','wupeiqi',])
6、字典:info={'name':'egon','age':18,'sex':18} #info=dict({'name':'egon','age':18,'sex':18})
7、布尔:布尔值,一个True一个False,所有数据类型都自带布尔值,除了None、0、空三种情况为False外,其余均为真。
8、可变与不可变:可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典;
不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间);
八 格式化输出:
1、%s字符串占位符:可以接收字符串,也可接收数字 print('My name is %s,my age is %s' %('egon',18))
2、.format()的三种用法
九 基本运算符
1、算术运算
2、比较运算
3、赋值运算
4、逻辑运算
十 流程控制
1、if...else
2、while循环
3、while+else:当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句。
4、for循环