五、Python的语言基础
最后更新于:2022-04-01 21:47:26
## 五、Python的语言基础
----From a high schoolstudent's view to learn Python
关键字:
python 高中生学编程 MIT公开课视频Python语言基础 数据类型 变量 关键字
1.基本的语句和语法规则
(#)表示之后的代码均为注释(在同一行内)。
(\n)表示换行,是行与行之间的分隔符。
(\)表示继续上一行的代码
(;)表示将两句语言连在一起,但通常是一句一行。
(:)表示将一个程序的开头和身体部分连在一起(十分重要)
缩进对齐:这在之前的内容中已经向大家介绍了,这在Python中十分重要,用来表示语句的逻辑关系,稍有不慎就会造成程序无法运行。
2.标识符,变量,关键字
(1)变量:什么是变量呢?变量就是可变的量,也就是说你可以随便改变它们,给它们赋不同的值,而在Python中,你可以通过将两个元素通过“=”来连接,通俗来说也就是把一个旧的东西贴上一个新的标签,但是这个标签可以随时更改。我们来看个例子:
增量赋值:增量赋值就是把等号和一个算数操作符连在一起,从而将计算结果重新赋给左边的元素。就像:x=x+1,也可以写成:x+=1,这种增量赋值法也被使用在给列表赋值的时候。
多重赋值:多重赋值就是同时把几个变量赋成同一个值。
多元赋值:多元赋值就是同时把多个变量赋成不同的各自的值。
(2) 标识符:
标识符是电脑语言中允许作为名字的有效字符串集合,说白了就是一个名字,一个和身份。其中有一部分是关键字,也就是构成语言的标识符。这种关键字举例来说就是像:and,class, elif, if, while, for, import,not等,虽然这其中有许多大家可能不认识,但是向for这些关键字是在Python中本身就有特殊含义的词,因此不能用于其他用途,否则会引起语法错误(SyntaxError)。除了关键字以外,Python中还有一些被称为“内建”的标识符的集合(built-in)例如:int,float, long, bool,complex等。虽然这些不是关键字,但是我们应该把它们当成关键字,尽量避免来使用它们,因为不这样做的话经常会混淆并产生歧义。
正确的标识符命名方法:
υ第一个字符必须是字母或者下划线。
υ剩下的字母可以是数字,字母或者下划线
υ大小写是有区别的
3. 简单的数据类型
首先要向大家介绍的是数字,内容来自[www.python.org](http://www.python.org)
(1) Numeric literals
There are four types of numericliterals: plain integers, long integers, floating point numbers,and imaginary numbers. There are no complex literals (complexnumbers can be formed by adding a real number and an imaginarynumber).
Note that numeric literals donot include a sign; a phraselike -1 is actually an expressioncomposed of the unary operator ‘-‘ and theliteral 1.
Integer and long integerliterals
Integer and long integerliterals are described by the following lexicaldefinitions:
longinteger ::= integer ("l"| "L")
integer ::= decimalinteger | octinteger | hexinteger | bininteger
decimalinteger ::= nonzerodigit digit*| "0"
octinteger ::= "0" ("o" | "O") octdigit+| "0" octdigit+
hexinteger ::= "0" ("x" | "X") hexdigit+
bininteger ::= "0" ("b" | "B") bindigit+
nonzerodigit ::= "1"..."9"
octdigit ::= "0"..."7"
bindigit ::= "0" | "1"
hexdigit ::= digit |"a"..."f" | "A"..."F"
其中“longinteger”指的是长整型,通常用“l”,“L”来表示,decimalinteger指的是十进制数,也就是我们通常在数学中用到的计算方法。Octinteger指的是八进制数,也就是说从只有0到8,到9之后就会进位。Hexinterger指的是16进制数,也就是各位包含0到15,而在9之后用数字无法表示,就需要用A到F来表示,也就是用1到F来表示。Bininteger表示是二进制数,也应该是大家除了十进制数外最熟悉的计算方式,因为是二进制,所以各位只有0和1两个数,之后就会进位。
关于十进制与其它进制之间的转换方法:
在Python中,进制的转换是不需要人为计算的,只需在打出固定形式的进制数,然后在打印出来,就是十进制的数字了。例如:八进制数:0o+进制数
16进制数:0x+进制数
二进制数0b+进制数。
下面来举几个例子:
a=0xff
a
255
这是16进制数的转换
a=0o10
a
8
这是8进制数的转换
a=0b00101
a
5
这是2进制数的转换
(2) Floating pointliterals(浮点数)
Floating point literals aredescribed by the following lexical definitions:
floatnumber ::= pointfloat | exponentfloat
pointfloat ::= [intpart] fraction | intpart "."
exponentfloat ::= (intpart | pointfloat) exponent
intpart ::= digit+
fraction ::= "." digit+
exponent ::= ("e" | "E") ["+" | "-"] digit+
Note that the integer andexponent parts of floating point numbers can look like octalintegers, but are interpreted using radix 10. Forexample, 077e010 is legal, anddenotes the same number as 77e10. The allowedrange of floating point literals is implementation-dependent. Someexamples of floating point literals:
3.14 10. .001 1e100 3.14e-10 0e0
Note that numeric literals donot include a sign; a phraselike -1 is actually an expressioncomposed of the unaryoperator - and theliteral 1.
(3) Imaginaryliterals(虚数)
Imaginary literals aredescribed by the following lexical definitions:
imagnumber ::= (floatnumber | intpart)("j" | "J")
An imaginary literal yields acomplex number with a real part of 0.0. Complex numbers arerepresented as a pair of floating point numbers and have the samerestrictions on their range. To create a complex number with anonzero real part, add a floating point number to it,e.g., (3+4j). Some examples of imaginaryliterals:
3.14j 10.j 10j .001j 1e100j 3.14e-10j
当然在认识完数字之后,我们还需要用数字来进行运算,这就不可避免的要介绍一下运算符。运算符分为两类:算术运算符,比较运算符和逻辑运算符两种。
(1)算术运算符:之前给大家大概介绍过算术运算符,这里就在补充几点,就是关于运算的顺序问题,其实这和数学中的运算顺序差不多:()的优先级最高,如果有嵌套的圆括号,则先计算最内层的圆括号内的表达式。如果同一层内有多对并列的而非嵌套的圆括号,则是从左向右计算。*,/,%(求余)的优先级次之,若果有多个,则从左向右计算。+,-的优先级最低,如果有多个,则从左向右计算。虽然这些很基础,但是大家在写程序的时候也要注意。例如:
(2)比较运算符:比较运算符在前面也向大家较为详细的讲过了,主要有相等运算符==,! =和关系运算符>< >=<=两种,但是要注意的就是==和=不要相互混淆,=是赋值的意思。
(3) 逻辑运算符:这个也在之前讲过,主要有and, or,not三种。and就是两者全部正确才是true。or就是两者中有一个正确就算true。not就是取非的意思。Python的语言基础
我的更多文章:
- [Python程序调试的一些体会](http://blog.sina.com.cn/s/blog_d6cca93e0101ewc9.html)(2013-10-06 22:57:35)
- [十四、Python编程计算24点(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101euxx.html)(2013-10-03 22:18:28)
- [十三、Python编程计算24点(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101eukc.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含图片")
(2013-10-02 22:15:46)
- [十二、Python简单数据结构应用(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101euk8.html)(2013-10-02 22:10:41)
- [十一、Python简单数据结构应用(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101ep9z.html)(2013-09-23 23:31:49)
- [十、Python编程解决组合问题(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101entc.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含图片")
(2013-09-21 23:37:27)
- [九、Python编程解决组合问题(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101ent7.html)(2013-09-21 23:32:54)
- [八、Python的函数编程(之二)](http://blog.sina.com.cn/s/blog_d6cca93e0101ekwj.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含视频")
(2013-09-20 23:09:39)
- [七、Python的函数编程(之一)](http://blog.sina.com.cn/s/blog_d6cca93e0101ekwg.html)![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-30_5632e1cc04fc3.gif "此博文包含视频")
(2013-09-20 23:09:10)
- [高中生如何学编程](http://blog.sina.com.cn/s/blog_d6cca93e0101e8fn.html)(2013-09-02 19:26:01)
';
1 2 3 4 5 6 | >>>MyExample= 6 >>>print(MyExample) 6 >>>MyExample=7 >>>print(MyExample) 7 |
1 2 3 4 5 6 7 8 | >>>(1+3)*4 16 >>>1+3*4 13 >>>3*4/(4*7) 0.42857142857142855 >>>3*4/4*7 21.0 |