语言元素

指令和程序

计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情。今天我们使用的计算机虽然器件做工越来越精密,处理能力越来越强大,但究其本质来说仍然属于[“冯·诺依曼结构”](https://zh.wikipedia.org/wiki/%E5%86%AF%C2%B7%E8%AF%BA%E4%BC%8A%E6%9B%BC%E7%BB%93%E6%9E%84)的计算机。“冯·诺依曼结构”有两个关键点,一是指出要将存储设备与中央处理器分开,二是提出了将数据以二进制方式编码。二进制是一种“逢二进一”的计数法,跟我们人类使用的“逢十进一”的计数法没有实质性的区别,人类因为有十根手指所以使用了十进制(因为在数数时十根手指用完之后就只能进位了,当然凡事都有例外,玛雅人可能是因为长年光着脚的原因把脚趾头也算上了,于是他们使用了二十进制的计数法,在这种计数法的指导下玛雅人的历法就与我们平常使用的历法不一样,而按照玛雅人的历法,2012年是上一个所谓的“太阳纪”的最后一年,而2013年则是新的“太阳纪”的开始,后来这件事情被以讹传讹的方式误传为”2012年是玛雅人预言的世界末日“这种荒诞的说法,今天我们可以大胆的猜测,玛雅文明之所以发展缓慢估计也与使用了二十进制有关)。对于计算机来说,二进制在物理器件上来说是最容易实现的(高电压表示1,低电压表示0),于是在“冯·诺依曼结构”的计算机都使用了二进制。虽然我们并不需要每个程序员都能够使用二进制的思维方式来工作,但是了解二进制以及它与我们生活中的十进制之间的转换关系,以及二进制与八进制和十六进制的转换关系还是有必要的。如果你对这一点不熟悉,可以自行使用[维基百科](https://zh.wikipedia.org/wiki/%E4%BA%8C%E8%BF%9B%E5%88%B6)或者[百度百科](https://baike.baidu.com)科普一下。

变量和类型

在程序设计中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多中类型,除了数值之外还可以处理文本、图形、音频、视频等各种各样的数据,那么不同的数据就需要定义不同的存储类型。Python中的数据类型很多,而且也允许我们自定义新的数据类型(这一点在后面会讲到),我们先介绍几种常用的数据类型。

- 整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如`0b100`,换算成十进制是4)、八进制(如`0o100`,换算成十进制是64)、十进制(`100`)和十六进制(`0x100`,换算成十进制是256)的表示法。
- 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如`123.456`)之外还支持科学计数法(如`1.23456e2`)。
- 字符串型:字符串是以单引号或双引号括起来的任意文本,比如`‘hello‘`和`"hello"`,字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
- 布尔型:布尔值只有`True`、`False`两种值,要么是`True`,要么是`False`,在Python中,可以直接用`True`、`False`表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如`3 < 5`会产生布尔值`True`,而`2 == 1`会产生布尔值`False`)。
- 复数型:形如`3+5j`,跟数学上的复数表示一样,唯一不同的是虚部的`i`换成了`j`。

变量命名

对于每个变量我们需要给它取一个名字,就如同我们每个人都有属于自己的响亮的名字一样。在Python中,变量命名需要遵循以下这些必须遵守硬性规则和强烈建议遵守的非硬性规则。

- 硬性规则:
- 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
- 大小写敏感(大写的`a`和小写的`A`是两个不同的变量)。
- 不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。
- PEP 8要求:
- 用小写字母拼写,多个单词用下划线连接。
- 受保护的实例属性用单个下划线开头(后面会讲到)。
- 私有的实例属性用两个下划线开头(后面会讲到)。

当然,作为一个专业的程序员,给变量(事实上应该是所有的标识符)命名时做到见名知意也是非常重要的。

变量的使用

下面通过几个例子来说明变量的类型和变量使用。

使用变量保存数据并进行算术运算

a = 321
b = 123
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)

使用input函数输入
使用int()进行类型转换
用占位符格式化输出的字符串

a = int(input(‘a = ‘))
b = int(input(‘b = ‘))
print(‘%d + %d = %d‘ % (a, b, a + b))
print(‘%d - %d = %d‘ % (a, b, a - b))
print(‘%d * %d = %d‘ % (a, b, a * b))
print(‘%d / %d = %f‘ % (a, b, a / b))
print(‘%d // %d = %d‘ % (a, b, a // b))
print(‘%d %% %d = %d‘ % (a, b, a % b))
print(‘%d ** %d = %d‘ % (a, b, a ** b))

使用type()检查变量的类型

a = 100
b = 12.345
c = 1 + 5j
d = ‘hello, world‘
e = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))

``

在对变量类型进行转换时可以使用Python的内置函数(准确的说下面列出的并不是真正意义上的函数,而是后面我们要讲到的创建对象的构造方法)。

- int():将一个数值或字符串转换成整数,可以指定进制。
- float():将一个字符串转换成浮点数。
- str():将指定的对象转换成字符串形式,可以指定编码。
- chr():将整数转换成该编码对应的字符串(一个字符)。
- ord():将字符串(一个字符)转换成对应的编码(整数)。

运算符

Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,我们会陆续使用到它们。

| 运算符 | 描述 |
| ------------------------------------------------------------ | ------------------------------ |
| `[]` `[:]` | 下标,切片 |
| `**` | 指数 |
| `~` `+` `-` | 按位取反, 正负号 |
| `*` `/` `%` `//` | 乘,除,模,整除 |
| `+` `-` | 加,减 |
| `>>` `<<` | 右移,左移 |
| `&` | 按位与 |
| `^` `|` | 按位异或,按位或 |
| `<=` `<` `>` `>=` | 小于等于,小于,大于,大于等于 |
| `==` `!=` | 等于,不等于 |
| `is` `is not` | 身份运算符 |
| `in` `not in` | 成员运算符 |
| `not` `or` `and` | 逻辑运算符 |
| `=` `+=` `-=` `*=` `/=` `%=` `//=` `**=` `&=` `|=` `^=` `>>=` `<<=` | (复合)赋值运算符 |

>**说明:**在实际开发中,如果搞不清楚优先级可以使用括号来确保运算的执行顺序。

下面的例子演示了运算符的使用。

a = 5
b = 10
c = 3
d = 4
e = 5
a += b
a -= c
a *= d
a /= e
print("a = ", a)

flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not flag1
print("flag1 = ", flag1)
print("flag2 = ", flag2)
print("flag3 = ", flag3)
print("flag4 = ", flag4)
print("flag5 = ", flag5)
print(flag1 is True)
print(flag2 is not False)

```

练习

练习1:华氏温度转摄氏温度。

将华氏温度转换为摄氏温度
F = 1.8C + 32

f = float(input(‘请输入华氏温度: ‘))
c = (f - 32) / 1.8
print(‘%.1f华氏度 = %.1f摄氏度‘ % (f, c))

练习2:输入圆的半径计算计算周长和面积。

输入半径计算圆的周长和面积

import math

radius = float(input(‘请输入圆的半径: ‘))
perimeter = 2 * math.pi * radius
area = math.pi * radius * radius
print(‘周长: %.2f‘ % perimeter)
print(‘面积: %.2f‘ % area)

练习3:输入年份判断是不是闰年。

输入年份 如果是闰年输出True 否则输出False

year = int(input(‘请输入年份: ‘))
# 如果代码太长写成一行不便于阅读 可以使用\或()折行
is_leap = (year % 4 == 0 and year % 100 != 0 or
year % 400 == 0)
print(is_leap)

原文地址:https://www.cnblogs.com/ldsice/p/10926130.html

时间: 2024-11-13 06:42:33

语言元素的相关文章

Impala SQL 语言元素(翻译)[转载]

原 Impala SQL 语言元素(翻译) 本文来源于http://my.oschina.net/weiqingbin/blog/189413#OSC_h2_2 摘要 http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_langref_sql.html 目录[-] Impala SQL 语言元素(Elements) ALTER T

C语言学习笔记(一)_hello world程序中涉及的c语言元素

#include <stdio.h> //使用printf函数之前必须include<stdio.h> int main() { int i; //声明一个变量 printf("hello world\n");//printf是c语言的库函数 return 0; } 1.1  #include <stdio.h> include是告诉编译器,包含一个头文件. 在C语言当中任何库函数调用都需要提前包含库函数. 1.2  main函数 main函数是C语

【2020-01-07】C#语言元素

数据结构是数据与数据之间的关系(数据之间是如何存储的),数据类型是数据的种类 1.程序结构 了解C#语言中的关键组织概念:程序.命名空间.类型.成员和程序集 2.类型和变量 了解C#语言中的值类型,引用类型和变量 3.表达式 表达式是在操作数和运算符的基础上构造而成的.表达式生成的是值 4.语句 语句用于表示程序的操作 5.类和对象 类是最基本的C#类型.对象是类实例.类是使用成员生成的,此主题也对此进行了介绍 6.结构 与类不同,结构是属于值类型的数据结构 7.数组 数组是一种数据结构,其中包

HTML——理解语言元素

<!DOCTYPE html> <html lang="en"> <head> <title>Semantic Example</title> </head> <body> <header> <h1>SITE OR PAGE LOGO GOES HERE</h1> </header> <nav> SITE OR PAGE NAV GOES HE

C# 7.0 语言新特性

下面是关于在C#7.0语言中计划功能的说明.其中大部分功能在Visual Studio “15” Preview 4中能运行.现在是最好的试用时期,请记录下你们的想法. C#7.0语言增加了许多的新功能,促使专注于数据消费,简化代码和性能. 或许最大的特征是元组(tuples) ,使得它易于有多个结果,并从而简化代码是以对数据的形状为条件的模式匹配.但也有许多其他的一些功能希望将它们结合起来,让代码运行更高效,更明确,从而获得更多的创造性.如果有哪些运行不是你想要的或者有想改进的功能,在Visu

3.html5的文本元素

如果你看了第一篇的内容,你会发现我的代码是这样的: 文本 <span>文本</span> <scolia>文本</scolia> <scolia abcd=123>文本</scolia> 但显示的效果却是这样的: 很奇怪,明明我的代码是分了4行来写的,但为什么在浏览器显示的时候却都在一行以内,而且它们之间都有一个空格的距离? 因为,浏览器对于换行的解释并不是依靠我们写代码时的排版,而是根据特定的标签,例如专用的换行标签<br/&

HTML5文本元素解析

1.<b>表示关键字和产品名称 <b>HTML5</b> 解释:<b>元素实际作用就是加粗.从语义上来看,就是标记一段文字,但并不是特别强调重要性. 2.<strong>表示重要的文字 <strong>HTML5</strong> 解释:<strong>元素实际作用和<b>一样,就是加粗.从语义上来看,就是强调一段重要的文本. 3.<br>强制换行 <wbr>安全换行 <

iOS开发笔记 - 语言篇之Swift

?2014年的苹果全球开发者大会(WWDC),当Craig Federighi向全世界宣布"We have new programming language"(我们有了新的编程语言)的时候,全场响起了最热烈和持久的掌声,伴随着掌声到来的语言叫Swift.接下来Craig Federighi更是毫不掩饰的告诉大家,Swift将成为主宰iOS和Mac开发的新语言,甚至是整个软件行业中最举足轻重的语言. ??Swift正如它的名字那样迅速.敏捷,但这并不是它的全部.Swift是一个博采众长的

3 文本元素

第 3 章文本元素 学习要点: 1.文本元素总汇 2.文本元素解析 本章主要探讨 HTML5中的文本元素,所谓文本元素,就是将一段文本设置成相匹配的 结构和含义. 一.文本元素总汇 HTML5规范指出:使用元素应该完全从元素的语义出发.但是由于历史遗留及用户至上 的原则,这种语义会宽松许多. 元素名称 a 说明 生成超链接 br 强制换行 wbr b 可安全换行 标记一段文字但不强调 表示重要 strong i 表示外文或科学术语 表示强调 em code var samp kdb abbr c