01_02_py
1基础知识
1.自然语言 (natural language) 是人们交流所使用的语言,例如英语、西班牙语和法语。它们不是人为设计出来的(尽管有人试图这样做);而是自然演变而来。
2.形式语言 (formal languages) 是人类为了特殊用途而设计出来的。例如,数学家使用的记号 (notation) 就是形式语言,特别擅长表示数字和符号之间的关系。化学家使用形式语言表示分子的化学结构。最重要的是:编程语言是被设计用于表达计算的形式语言。形式语言通常拥有严格的语法 规则,语法规则有两种类型,分别涉及记号 (tokens) 和结构。记号是语言的基本元素,例如单词、数字和化学元素。3 + = 3$6 这个式子的问题之一,就是 $ 在数学中不是一个合法的记号(至少据我所知)。类似的, 2 Zz 也不合法,因为没有一个元素的简写是 Zz 。
当你读一个用英语写的句子或者用形式语言写的语句时,你都必须要理清各自的结构(尽管在阅读自然语言时,你是下意识地进行的)。这个过程被称为解析 (parsing)。
1在打印语句中,如果你去掉一个或两个括号,会发生什么
(syntax error)会发生 print 是一个函数 对于变量常量需要用()来调用
2你想打印一个字符串,如果你去掉一个或两个引号,会发生什么?
(name error)会发生python无法理解你给的变量或者函数的名称
3你可以使用减号创建一个负数,如 − 2 。如果你在一个数字前再加上个加号,会发生什么? 2++2 会得出什么结果?
数字前面的正负号就到表这个数字的正负性
4 在数学标记中,前导零 (leading zeros) 没有问题,如 02 。如果我们在 Python 中这样做,会发生什么?
(decimal 小数 decimal integer 十进制整数)python中这样的语法,前导零在十进制整数是不被允许的
5如果两个值之间没有运算符,又会发生什么?
无效的语法
配速(pace)是在马拉松运动的训练中常使用的一个概念,配速是速度的一种,是每公里所需要的时间。配速 = 时间/距离。
2变量表达式和语句
赋值语句 (assignment statement) 可用于新建变量,并为该变量赋值。将值(等号左边的)赋值给 变量(右边的)
状态图(state diagram)他展示了每个变量所处的状态。根据惯例,变量名只使用小写字母(下划线 ( _ ) 可以出现在变量名中。 Python 的关键字 (keywords) 之一。解释器使用关键字识别程序的结构,它们不能被用作变量名。一般的不能以数字开头,任意位置不能存在特殊字符,例如:@、&等)。
表达式 (expression) 是值、变量和运算符的组合。值和变量自身也是表达式
交互模式 (interactive mode) 下运行 Python,即直接与解释器进行交互。交互模式对学习入门很有帮助,但是如果你需要编写很多行代码,使用交互模式就不太方便了。另一种方法是将代码保存到一个被称为脚本 (script) 的文件里,然后以脚本模式 (script mode) 运行解释器并执行脚本。按照惯例,Python 脚本文件名的后缀是 .py 。
对于算数运算符,Python 遵循数学里的惯例。缩写 PEMDAS 有助于帮助大家记住这些规则:
括号 (Parentheses)>指数运算 (Exponentiation)>乘法 (Multiplication) 和除法 (Division) >加法 (Addition) 和减法 (Subtraction)
加号运算符 + 可用于字符串拼接。乘法运算符 * 也可应用于字符串;它执行重复运算。例如, 'Spam'*3 的结果是 'SpamSpamSpam' 。如果其中一个运算数是字符串,则另外一个必须是整型数。
随着程序变得越写越长,越来越复杂,它们的可读性也越来越差。形式语言是稠密的,通常很难在读一段代码后,说出其做什么或者为什么这样做。因此,在程序中需要用自然语言做些笔记,解释程序将做些什么。这些笔记被称为注释 (comments),以 # 符号开始。
好的变量名能够减少对注释的需求,但是长变量名使得表达式很难读,因此这里有个平衡问题。
程序中可能会出现下面三种错误:语法错误 (syntax error)、运行时错误 (runtime error)和语义错误 (semantic error)。区别三者的差异有助于快速追踪这些错误。
变量 (variable): 变量是指向某个值的名称。
1 我们已经知道 n = 42 是合法的。那么 42 = n 呢
不合法,赋值号左边得是变量
2 x = y = 1 合法吗
合法
3在某些编程语言中,每个语句都是以分号 ; 结束的。如果你在一个 Python 语句后也以分号结尾,会发生什么?
没有变化
在数学记法中,你可以将 x 和 y 像这样相乘:xy 。如果你在 Python 中也这么写的话,会发生什么?
xy将构成一个新的变量,之前未定义的一个变量
make 创造 e.g. make a promise
do 完成任务(do business) do homework
歧义/双关之间的关系在于,前者被动,后者主动。歧义,语言文字指代不明,有两种及以上的含义。双关,出表面意思外,还隐含着另一种含义。是语句同时兼顾里和外两种含义。
01_02_py的更多相关文章
随机推荐
- python3:文件读写+with open as语句(转)
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- create-react-app添加对TypeScript支持
背景 最近一直在重构react项目,由于项目历史原因,将之前parcel打包工具换成了webpack,并选择了使用create-react-app作为项目开发脚手架. 接着就是把项目中flow类型检查 ...
- java开发两年了,连个java代理模式都摸不透,你怎么跳槽涨薪?
前言 代理模式(Proxy Pattern),23种java常用设计模式之一.代理模式的定义:代理类对被代理对象提供一种代理以控制对这个对象的访问.代理类主要负责为委托类预处理消息.过滤消息.把消息转 ...
- 如何在Vegas中安装激活Continuum插件
视频剪辑插件Boris FX Continuum安装程序包含了多达250种插件.而视频剪辑软件Vegas Pro 18 Suite中提供了Boris FX Continuum Film Style U ...
- FL Studio杂项设置页讲解(下)
上篇文章中我们重点讲解了FL Studio中"截断/被截"如何有效的避免个采样在播放时相互干扰的知识以及电平设置栏的知识,今天我们将讲完该页面中剩下的栏目知识,一起来看看吧! 1. ...
- 如何用ABBYY FineReader提取图片中的文字
作为OCR文字识别软件中的佼佼者,可能大家对于ABBYY FineReader的使用还不熟练,没关系,今天小编就为大家演示,如何用ABBYY FineReader这款文字识别软件,将一张截图中的文字识 ...
- 牛逼哄哄的PageHelper分页插件到底是怎么实现的?网友:给我10分钟,给你写一个~
Hi,各位读者们 PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美. ...
- nginx学习首页随机模块
在default.conf下加入这行开启随机模块,在root目录下放入几种不同的html 改完保存下,使用命令检查nginx语法是否正确 nginx -tc /etc/nginx/nginx.conf ...
- ubuntu安装php的 redis扩展
wget https://github.com/phpredis/phpredis/archive/2.2.4.tar.gztar -zxvf 2.2.4.tar.gz cd phpredis-2.2 ...
- 2019年第十届蓝桥杯【C++省赛B组】D、E、G、H、I题解
这场有几道题目思路,在之前比赛中遇到过 D. 数的分解 #枚举 题意 将\(2019\)分解成\(3\)个各不相同的正整数之和,并且每个正整数都不包含数字\(2\)和\(4\),一共有多少种分解方法? ...