编程语言分类

机器语言

  使用二进制代码直接编程,直接与硬件交互,执行速度非常快,灵活,但是开发难度高,开发效率低下,缺乏移植性。 

汇编语言

  对机器语言指令进行了英文封装,较机器语言容易记忆,直接与硬件交互,执行速度快,执行文件小,但是开发难度相对也很高,开发效率低

高级语言

  语法简单,容易理解,开发难度低效率高,开发后测试方便,但是开发的程序需要经过转换才能执行,所以执行效率相对慢,可移植性高。

  解释执行:代码执行时候,解释器按照源代码文件中的内容,一条条解释并运行,相对编译执行速度慢,但出错方便调试,开发效率高。

    例如Python、PHP、Ruby、JavaScript等

  编译执行:程序执行前,编译器会将源代码一次性编译成机器能够识别的指令文件,然后运行编译后的文件,速度相对表解释执行要高,但是出错后修改源代码需要重新编译执行,开发效率相对低

    例如C语言、C++、GO、Swift、Object-C等

  解释执行和编译执行在执行效率上虽然有差别,但是对于当前计算机的硬件计算速度的提升,加上网络环境的限制,执行速度相对来说并不是关键,开发效率才是关键。

  像Java和C#属于混合语言,即既有编译执行也有解释执行。

Python简介

Python介绍

  Python是一门解释型编程语言,平台兼容性高,省略一堆屁话,这是笔记!!!!

  解释型语言依赖于解释器,python解释器执行代码文件的过程如下:

    打开python解释器

    python解释器从硬盘调用py文件到内存

    python解释器执行读入内存的文件代码,该过程详细为:py文件-字节码文件-解释器-机器码-执行

  python文件在执行过程中,不会保存字节码文件,每次执行py文件时候,都会先转化成字节码文件。

  python在import(导入)py文件的时候,会生成pyc的字节码文件保存下来。

Python分类

  Cpython(最常用):使用C语言实现的python,官方版本,Cpython会将源代码文件转换成pyc字节码文件使用到python虚拟机上执行

  Jpython:使用Java实现的python,将Python代码动态编译成Java字节码,然后在JVM上运行

  IronPython:Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行

  PyPy(特殊):Python实现的Python,将Python的字节码字节码再编译成机器码

  RubyPython、Brython.....

  除了PyPy外,执行流程如下图:

    代码文件首先转换层字节码文件,字节码文件流入解释器,解释器转化成机器码后执行输出。

Python解释器版本

  版本3,最新的版本为3.6.1

  版本2,最新的版本为2.7.13,2020年停止更新

Python入门

安装

Python Linux版本安装

  安装过程转 http://www.cnblogs.com/zero527/p/6920965.html

Python Windows版本安装

  双击安装,一路下一步,记得勾选自动添加环境变量

第一行代码"hello world"

解释器只用来测试代码,并不能保存代码,想要永久保存,需要将代码写入到文件中。

解释器执行:

  1. C:\Users\Mr.chai>python
  2. Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
  3. Type "help", "copyright", "credits" or "license" for more information.
  4. >>> "hello world"     #由于解释器自带输出功能,所以输入一个字符串会自动给出输出
  5. 'hello world'
  6. >>> print("hello world")  #print为输出,输出的内容是括号中的内容
  7. hello world
  8. >>>

py文件执行:

创建一个hello.py文件,内容写入print("hello world")

  1. C:\Users\Mr.chai>python C:\hello.py
  2. hello world

python文件头(linux)

在linux执行hello.py文件,也是用python 路径/hello.py,但是在linux可以用./方法执行文件,直接执行./hello.py,会报错,原因是找不到解释器,所以要在hello.py文件中加一个头部信息,标识解释器位置

  1. #!/usr/bin/env python #该行只对linux有效,表示/usr/bin/所有的python解释器,可以指定一个如:/usr/bin/python
  2. # -*- coding: utf-8 -*- #指定字符编码
    print('hello world')

内容注释

注释为说明性文字

#  单行注释

''' str...str '''    三引号为多行注释

模块功能导入

import sys    导入系统模块,允许该文件运行扩展的系统功能

变量

变量是用来表示程序运行时候改变的状态的,是一个抽象的概念。

变量组成:

  [变量名]=[变量实际的值]

  变量名:变量命名一般字母或下划线开头,剩下的可以是字母和数字,变量名不能和关键字冲突,如print、and等系统关键字

  变量值:可以改变的值,一个变量名可以重复赋值,但是变量实际的值为最后赋值后的值,变量的值存放在内存空间

变量类型:

  局部变量:只在某一段代码中生效的变量

  全局变量:在整个程序的运行中生效的变量

变量赋值与调用:

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. name="bob"  #赋值字符串
  4. age=20    #赋值整数
  5. print(name,age)  #输出变量
    print("my name is %s,i am %s years old." % (name,age))  # %s表示占位,第一个%s调用后面括号里面的第一个变量,第二个%s调用第二个变量

重复赋值指的是改变变量名的引用,引用的值改变了。变量没有储存数据的功能,实际的值放在内存空间中,

当内存空间的值没有了引用,引用计数为0的将变成垃圾被回收

id后面跟变量,查看内存id号

  1. >>> a=1
  2. >>> id(a)
  3. 1379185728
  4. >>> b=1
  5. >>> id(b)
  6. 1379185728

变量占用的内存空间比较小的,不再开辟内存空间,将直接引用,如果占用的内存空间大,那引用的过程中将开辟新的内存空间,这是python的一种优化机制

  1. >>> a="abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz"
  2. >>> id(a)
  3. 2884867588944
  4. >>> b="abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz"
  5. >>> id(b)
  6. 2884867588624

接触变量引用,将变量改变赋值,将解除变量的原引用,或者"del 变量"将解除变量的所有引用

常量

python里没有常量的概念,但是可以通过语法上进行提示,即变量名用大写表示

如OLDBOY_AGE=57

输入输出

python2中的raw_input()个python3中的input()功能一样,会把所有用户的输入转成str类型

  1. >>> name=input("name:")
  2. name:bob
  3. >>> age=input("age:")
  4. age:20
  5. >>> type(name)
  6. <class 'str'>
  7. >>> type(age)
  8. <class 'str'>

getpass模块,可以隐藏输入

  1. >>> password=getpass.getpass("pass:")
  2. pass:
  3. >>> print(password)
  4. 123456

python2的input(),输入的值是什么类型那么就会存成什么类型。

运算符

算术运算符

比较运算符

赋值运算符

位运算符

逻辑运算符

成员运算

身份运算

运算符号优先级:自上而下,优先级从高到低

Python开发基础-Day1-python入门的更多相关文章

  1. Python开发基础之Python常用的数据类型

    一.Python介绍 Python是一种动态解释型的编程语言.Python它简单易学.功能强大.支持面向对象.函数式编程,可以在Windows.Linux等多种操作系统上使用,同时Python可以在J ...

  2. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  3. Python文件基础操作(IO入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...

  4. Python之路,Day1 - Python基础1

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

  5. Windows搭建python开发环境,python入门到精通[一]

    从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...

  6. python计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  7. python 全栈开发,Day1(python介绍,变量,if,while)

    python基础一 一,Python介绍 python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为 ...

  8. python全栈开发,Day1(python介绍,变量,if,while)

    python基础一 一,Python介绍 python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为 ...

  9. Python之路,Day1 - Python基础1(转载Alex)

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

随机推荐

  1. Canvas 基本绘图方法总结

    一.基本内容  1.简单来说,HTML5提供的新元素<canvas>  2.Canvas在HTML页面提供画布的功能,在画布中绘制各种图形  3.Canvas绘制的图形与HTML页面无关, ...

  2. 【BZOJ】2982 combination

    [算法]组合数取模——lucas定理 #include<cstdio> #include<algorithm> #include<cstring> using na ...

  3. 【51NOD-0】1019 逆序数

    [算法]离散化+树状数组(求逆序对) [题解]经典,原理是统计在i之前插入的且值≤i的个数,然后答案就是i-getsum(i) #include<cstdio> #include<a ...

  4. Spring Session加Redis(山东数漫江湖)

    session是一个非常常见的概念.session的作用是为了辅助http协议,因为http是本身是一个无状态协议.为了记录用户的状态,session机制就应运而生了.同时session也是一个非常老 ...

  5. Exponial (欧拉定理+指数循环定理+欧拉函数+快速幂)

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2021 Description Everybody loves big numbers ...

  6. 配置连接的IP、端口、以及相应的数据库

    解压后里面有:lib 源文件 .examples 例子.test测试 将lib目录拷贝到你的项目中,就可以开始你的predis操作了. //使用autoload加载相关库,这边重点就是为了requir ...

  7. C++学习之路(七):以const,enum,inline替换#define

    这篇博文主要是编程中的一些问题和技巧.如题目所示,这些关键字的作用不再进行描述.直接描述功能和实例代码. 首先,在头文件中对类进行定义,是不会为类分配内存空间的,在这一点上类定义可以和普通变量类型的声 ...

  8. KVM初始化过程

    转载:http://blog.csdn.net/dashulu/article/details/17074675 之前打算整理一下在Guest VM, KVM, QEMU中IO处理的整个流程,通过查阅 ...

  9. python基础===* 解包,格式化输出和print的一点知识

    python3中的特性: >>> name = "botoo" >>> print(f"my name is {name}" ...

  10. xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance(xsi:schemaLocation详解)

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"中xsi的意思是 :本xml文件中要用到某些来自xsi代表的“http:/ ...