五、Python的语言基础

五、Python的语言基础

----From a high school student's view to learn Python

 

关键字:

python 高中生学编程 MIT公开课视频 Python语言基础 数据类型 变量 关键字


1.基本的语句和语法规则

(#)表示之后的代码均为注释(在同一行内)。

\n)表示换行,是行与行之间的分隔符。

\)表示继续上一行的代码

(;)表示将两句语言连在一起,但通常是一句一行。

(:)表示将一个程序的开头和身体部分连在一起(十分重要)

缩进对齐:这在之前的内容中已经向大家介绍了,这在Python中十分重要,用来表示语句的逻辑关系,稍有不慎就会造成程序无法运行。


2.标识符,变量,关键字

(1) 变量:什么是变量呢?变量就是可变的量,也就是说你可以随便改变它们,给它们赋不同的值,而在Python中,你可以通过将两个元素通过=”来连接,通俗来说也就是把一个旧的东西贴上一个新的标签,但是这个标签可以随时更改。我们来看个例子:


1

2

3

4

5

6

>>> MyExample= 6

>>> print(MyExample)

6

>>> MyExample=7

>>> print(MyExample)

7

 

增量赋值:增量赋值就是把等号和一个算数操作符连在一起,从而将计算结果重新赋给左边的元素。就像: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

(1) Numeric literals

There are four types of numeric literals: plain integers, long integers, floating point numbers, and imaginary numbers. There are no complex literals (complex numbers can be formed by adding a real number and an imaginary number).

Note that numeric literals do not include a sign; a phrase like -1 is actually an expression composed of the unary operator ‘-‘ and the literal 1.

 

Integer and long integer literals

Integer and long integer literals are described by the following lexical definitions:

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

    

这是2进制数的转换


(2) Floating point literals(浮点数)

Floating point literals are described 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 and exponent parts of floating point numbers can look like octal integers, but are interpreted using radix 10. For example, 077e010 is legal, and denotes the same number as 77e10. The allowed range of floating point literals is implementation-dependent. Some examples of floating point literals:

3.14    10.    .001    1e100    3.14e-10    0e0

Note that numeric literals do not include a sign; a phrase like -1 is actually an expression composed of the unary operator and the literal 1.


(3) Imaginary literals(虚数)

Imaginary literals are described by the following lexical definitions:

imagnumber ::=  (floatnumber | intpart) ("j" | "J")

An imaginary literal yields a complex number with a real part of 0.0. Complex numbers are represented as a pair of floating point numbers and have the same restrictions on their range. To create a complex number with a nonzero real part, add a floating point number to it, e.g., (3+4j). Some examples of imaginary literals:

3.14j   10.j    10j     .001j   1e100j  3.14e-10j


当然在认识完数字之后,我们还需要用数字来进行运算,这就不可避免的要介绍一下运算符。运算符分为两类:算术运算符,比较运算符和逻辑运算符两种。

(1) 算术运算符:之前给大家大概介绍过算术运算符,这里就在补充几点,就是关于运算的顺序问题,其实这和数学中的运算顺序差不多:( )的优先级最高,如果有嵌套的圆括号,则先计算最内层的圆括号内的表达式。如果同一层内有多对并列的而非嵌套的圆括号,则是从左向右计算。*,/,%(求余)的优先级次之,若果有多个,则从左向右计算。+,-的优先级最低,如果有多个,则从左向右计算。虽然这些很基础,但是大家在写程序的时候也要注意。例如:


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


(2) 比较运算符:比较运算符在前面也向大家较为详细的讲过了,主要有相等运算符==,! =和关系运算符> < >= <=两种,但是要注意的就是==和=不要相互混淆,=是赋值的意思。

 

(3) 逻辑运算符:这个也在之前讲过,主要有and, or, not三种。and就是两者全部正确才是true。or就是两者中有一个正确就算true。not就是取非的意思。Python的语言基础


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值