一. Python基础(1)--语法
1. 应用程序
1.1 什么是计算机(Computer)?
组成
①运算器 arithmetic unit; ※ Arithmetic unit and control unit are collectively called as CPU. ②控制器 control unit; ③存储器 memory unit; ·内部存储器 (内存) internal memory/internal storage; also called: main memory (主存) ·外部存储器 external memory/external storage: disk 磁盘: hard disk (硬盘), soft disk (软盘); CD-ROM(Compact Disc Read-Only Memory,只读光盘) ④输入设备 input unit/devices; ⑤输出设备 output unit /devices. |
祖师爷
①Alan Turing 艾伦·图灵: father of computer science & father of artificial intelligence 计算机科学之父&人工智能之父 ②Von Neumann 冯·诺依曼: father of the modern computer & father of Game Theory现代计算机之父&博弈论之父 |
1.2 什么是操作系统(Operating System)?
用于控制计算机硬件之间, 软件之间, 以及硬件和软件之间的数据交互(data exchange): Windows Linux (Unix-like) Macintosh (Unix-like) |
1.3 什么是应用程序?(应用软件-application software)
软件包括: 应用软件和系统软件 software: application software & system software
应用软件的概念 A program that gives a computer instructions that provide the user with tools to accomplish a task |
2. 介绍Python和编程语言
2.1 编程语言分类
① 根据语言被翻译的方式: --编译型(compiling): C, C#, Java(也有Java是解释型语言的说法) --解释性(interpreting): Python, PHP ② 根据执行效率: --快: C语言→机器码 --慢: Python, Java, PHP, C#→字节码→机器码 ③ 根据易学性, 易用性 --Python --其它 |
※ 区别:
--编译型语言:整个程序在执行之前需要一个专门的编译过程,即把程序编译成为机器语言的文件;再次运行时不需要重新翻译,直接使用已经编译好的结果就行了。程序执行效率较高,依赖编译器,跨平台性较差。 --解释型语言:程序是在执行的时候才一句一句地翻译,因此,解释性语言的程序每执行一次就要翻译一次。程序执行效率较低,跨平台性较好。 ※ |
※ 知识补充
编程语言 低级语言和高级语言low-level language & high-level language ① 低级语言 low-level language: 机器语言(machine language) & assembly language 汇编语言 ② 高级语言high-level language: C/C++, Java, Python ※ |
2.2编程语言处理程序
① 编译程序(编译器)→compiler ② 解释程序(解释器/直译器) →interpreter |
※ 知识补充
● 语言之间的翻译形式 translation modes among languages: ① 汇编 assemble: convert assembly language into machine language ② 编译 compile: convert source language into assembly language or machine language. (一般指的就是翻译成机器语言) ③ 解释 interpret: convert source language into intermediate code, e.g., bytecode, statement by statement, and then machine language |
● 机器码 & 字节码 & 汇编语言 和1组成的二进制序列,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据, 是执行速度最快的代码。 ②字节码(bytecode)是一种中间码,它比机器码更抽象,需要解释器转换成机器码。 ③机器码和汇编语言之间是一一对应的关系, 汇编程序中存有汇编指令(助记符)和机器码(机器指令)之间一一对应关系的对照表, 例如机器码B8对应汇编语言的MOV AX. |
● 汇编语言包括指令和伪指令(伪指令是为了编程方便,对部分指令做的封装)。Java或Python首先将源码编译(compile)为字节码(bytecode),这里的字节码就是上述的伪指令(Java的字节码保存在.class文件里; Python的字节码保存在.pyc文件里);然后JVM或PVM会一句一句(statement by statement)地来解释(interpret)这些伪指令,把它们翻译成相应的二进制的机器码(machine code)来执行。 注意: ①实际上很多解释器(如python.exe)内部是以"编译器+虚拟机"的方式来实现的。 ②Java通过"Java Compiler"实现源码到字节码的转换,Python通过Cpython来实现源码到字节码的转换。 ③Python在 import 别的 .py 文件时,那个. py 文件会被保存一份 pyc , 从而加速下次装载; 而主文件因为只需要装载一次就没有自动保存 pyc, 而运行Java程序时, 必须首先将源码编译成.class文件(通过javac命令)才可执行,这种编译方法称为"即时编译(Just-in-time compilation)"。 |
● Python 虚拟机(PVM):
※ Python 代码的运行速度介于传统的编译语言和传统的解释语言之间。 |
2.3 Python的种类
cpython,jpython,ironpython,rubypython,pypy .... ※ ※ pypy是用python实现的python; pypy不会将脚本编译成字节码,而是用JIT(Just-In-Time, 和Java的编译技术一样)技术编译成机器码,在执行过程中会动态的优化。 |
※ 第一点,就像其他人提到的,PyPy有很弱的C 语言扩展性。它支持C语言扩展,但是比Python本身的速度还慢。因此,很多模块本身就要求使用CPython.。
CPython 上的Numpy的数据处理性非常好,满足了那些既要求速度又大量使用Pandas, SciPy等数据分析任务的库的人。
所以,Pypy 要么不支持或者很弱支持C语言扩展,要么减慢了那些数据处理的速度。完全无法比拟既可以满足速度要求又简单易用的CPyhon。
第二点,Python 3的支持在现阶段还是实验期。那些使用最新版本的Python新功能的人,现在应该还不愿意扔掉那些还在新鲜期的新奇功能。
第三点,PyPy 并不是真正的脚本快,而大多数使用Python 的人就是在用脚本。这些脚本就是一些简短的程序。 PyPy 的最大优点是它针对长时间运行的简单数字处理的即时 (JIT) 编译器。直白地说, PyPy的先编译处理时间比CPython长的多。
第四点,惰性。转移到PyPy需要重新装备机器。这对很多用户或者使用机构来说,都是太多的额外工作了。 |
2.4 Python的版本
--Python2.7 --Python3.x |
2.5 Python不同版本的安装/环境变量的设置/在cmd命令行程序下执行python脚本
※ ※ |
2.6 Python基本语法
①输出: print()函数
注意: Python2基于ASCII编码, 而Python3基于UTF-8编码 |
②输入: input()函数
name = input("Please input your name:") print(name)
注意: 在Python2下, 对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。 不过, 如果用raw_input()函数就没有这个限制了. |
③变量(variable)
基础: 变量名 = 值 变量名命名规则: --只能包含字母, 数字, 下划线 --变量名开头不能是数字 --不能是Python的关键字: 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield' --见名知义 --尽量不要使用python中已经使用的 |
④初识数据类型(data type)
整数类型(integer) 字符串类型(string) 布尔类型(Boolean) |
⑤条件语句(conditional statement)
形式一: if condition: statement else: statement 形式二: if condition1: statement1 elif condition2: statement2 elif condition3: statement3 else: statement4 |
⑥循环语句(loop statement)
形式一: while condition: statement
形式二: while condition: statement1 else: statement2 |
※ break, continue, pass --break 的作用是结束整个循环(跳出循环体),执行后面的程序。 --continue 的作用是结束此次循环,进行下一次循环; --pass表示不做任何事情,一般用做占位语句。 |
※ 不要忘记给while true限定终止循环的条件,例如:
# 依次打印1,2,3,4,5,6,8,9(三种实现方式) start = 1 while start < 11: if start == 7: pass else: print(start) start += 1 # 该语句一定要与if...else语句并列
print("=============================")
value = 1 while value < 11: if value == 7: value += 1 # 一定不要缺少这一句, continue else: print(value) value += 1
print("=============================")
begin = 0 while True: begin += 1 if begin <= 10: if begin != 7: print(begin) else: break # 一定要设置这个终止循环的条件 |
3. 知识补充
3.1 在Python shell中清屏
import os #加载os模块 os.system("cls") # windows上执行cls命令 os.system("clear") # linux上执行clear命令 |
3.2 两种ASCII码
ASCII码分别"7位版"和"8位版", 前者的码点(code point)范围是0-127, 后者的码点范围是128-255. |
3.3 python源程序的编码
# -*- coding:utf-8 -*- # coding:utf-8 # coding=utf-8 更简单的写法: # encoding: utf-8 |
# Python解释器默认源码采用ASCII编码。 # 上面的注释告诉Python解释器:该源码采用utf-8编码。 # 注意, 保存源码文件时也必须采用utf-8编码, 否则报错. |
一. Python基础(1)--语法的更多相关文章
- 六. Python基础(6)--语法
六. Python基础(6)--语法 1 ● Python3中, Unicode转字节的方法 print(bytes("李泉", encoding = 'utf-8')) prin ...
- 五. Python基础(5)--语法
五. Python基础(5)--语法 1 ● break结束的是它所在的循环体, continue是让它所在的循环体继续循环 # 打印: 1 10 2 10 3 10 4 10 5 10 6 10 7 ...
- 四. Python基础(4)--语法
四. Python基础(4)--语法 1 ● 比较几种实现循环的代码 i = 1 sum = 0 while i <= 10: # 循环10-1+1=10次 sum += i i ...
- 三. Python基础(3)--语法
三. Python基础(3)--语法 1. 字符串格式化的知识补充 tpl = "我是%s,年龄%d,学习进度100%" %('Arroz',18) print(tpl) # 会提 ...
- 二. Python基础(2)--语法
二. Python基础(2)--语法 1.实现一个简单的登录系统 '''# 形式1 n = 1 while n < 4: name = input("请输入姓名\n" ...
- Python基础:语法基础(3)
本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...
- Python基础__Python语法基础、条件、循环
之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...
- Python基础系列----语法、数据类型、变量、编码
1.基本语法 Python ...
- [Python基础]003.语法(2)
语法(2) 运算符 数学运算 比较运算 逻辑运算 位运算 赋值运算 其他运算 代码规范 代码缩进 多行 注释 流程控制 pass if while for break continue 运算符 数学运 ...
随机推荐
- 生成pyd文件时提示“Unable to find vcvarsall.bat”的问题
本文内容 Unable to find vcvarsall.bat的问题描述 问题分析 总结 一.问题描述 我们在windows下通过pip安装一些外部Python 模块(比如,pycrypto)时通 ...
- Arduino 开关控制小灯持续亮之具体思路
Arduino 开关控制小灯持续亮之具体思路 为什么写这篇文章: 我们用开关控制灯的亮灭的时候,希望只需要按一下按键就可以做到灯一直亮着.而在<Arduino魔法书>中——有弹性的按键这一 ...
- C语言流控制命令的总结
C语言流控制命令的总结 基本概念: C语言中,自顶向下的的代码的流程叫做程序流. 能够改变程序流顺序的语句叫做流控制命令. 我为什么要写这篇文章 在学习C语言的过程中,经常会用到条件语句和循环语句这些 ...
- C#复习题(概念) --C#学习笔记
第一章 1.公共语言架构(CLI)由哪几部分组成? (1)通用类型系统:定义了一套类型系统的框架,规定了数据类型的声明.使用和管理方法. (2)公共语言规范:一组语言规则的集合 (3)通用中间语言:一 ...
- 一款好用的取色工具TakeColor
简介:TakeColor,一款还算好用的取色软件,一个很小很简洁的exe文件,无需安装 使用:打开exe文件后,使用“Alt + C” 组合键即可在鼠标悬停的位置上获取到颜色值,可以获取HTML.RG ...
- LeetCode--374--猜数字大小
问题描述: 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字是大了还是小了. 你调用一个预先定义好的接口 gu ...
- Nginx安装与使用 及在redhat 中的简单安装方式
首先说下在redhat中的安装方法, 正常安装nginx 需要安装很多的依赖,最后再安装nginx,而且很容易出错. 在nginx官方上有这么一段描述: Pre-Built Packages for ...
- win10+cpu+tensorflow+pycharm
1.安装64位的python3.5 选择windowsx86-64 executable installer安装 2.安装tensorflow cmd->进入到安装python的Scripts文 ...
- Symmetric Tree leetcode java
问题描述: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). ...
- day32 通道 数据共享 进程池
1.管道 格式: conn1,conn2 = Pipe() 管道的两端可以进行全双工通信 如图 进程2创建了管道,它就拥有管道两端的信息,每个端点都能收发信息,它把端点信息传给进程1和进程3 ,它 ...