轻轻松松搞定python

什么是程序

程序或者叫代码,本质上就是一堆让计算机干活的指令,每一条指令就是一个干活步骤。指令让计算机干什么就干什么,没有指令,计算机就不知道怎么办。计算机虽然四肢发达(执行速度快),但头脑简单,只能理解一些很简单指令,所以要让计算机干一些复杂的活,就需要把活分解成一条一条很简单的指令,这个分解过程就是写代码,或者好听一点叫程序设计。同时虽然代码最终是给计算机执行的,但编写、修改和维护代码的是人,因此写代码需要考虑怎么让人看起来更容易。

标识符

标识符(identifier),其实就是名字,就是给代码中的一些东西取的名字,这些东西包括常量、变量、函数等等,就跟数学证明题里的一样,因为本来最早程序就是用来做科学计算的。大多数编程语言都规定标识符只能包含英文字母、阿拉伯数字和下划线,但开头不能是数字,标识符区分大小写。python的标识符更特殊一点,还可以是中文等其他字符,但一般不建议这么用。

关键字

python 内部已经预先定义了一些标识符,这些标识符是有特殊用途的,叫作保留字(reserved words)或关键字(keywords),其他标识符不能和这些关键字冲突。关键字的用途在后面的章节会介绍。

False      class      finally    is         return
None       continue   for        lambda     try
True       def        from       nonlocal   while
and        del        global     not        with
as         elif       if         or         yield
assert     else       import     pass
break      except     in         raise

行、缩进和注释

程序的代码是按一行一行排列的,有些语言要求代码行必须以分号 ';' 结尾,python 不需要。程序出于流程控制需要,有时需要把多行代码组成一个代码块按条件执行或不执行的,一般其他语言的代码块大都要求使用大括号'{}'包起来,但Python的代码块不使用大括号,而是用缩进,同一个代码块的代码,具有相同缩进,这样做的目的是强制统一编码风格,从而让别人阅读代码时更容易。缩进一般建议用4个空格。
如果一个代码行只有空白字符(空格、回车换行、tab)就叫空白行,空白行在程序运行时会被忽略。
一般的(有例外,后面再说),如果代码行中有 '#' 字符,则 '#' 字符及其后面的所有字符是注释,在程序运行时也会被忽略。


变量与类型

程序的最基本应用就是数学计算(其实所有程序本质就是数据计算,不管你代码里直接写的是不是数据,最后在底层都变成了数据并计算,这就是为什么叫计算机),要计算就要有数据,而代码中变量就是用来存储数据的,因为数据有各种类型, 所以变量也支持多种不同类型。一般变量的值在程序运行过程中是可以被改变的,如果变量的值不能被改变,则又叫常量,python其实并没有真正意义上的常量,详情后面章节会描述。
python的变量不需要像c或java语言那样声明定义,对一个变量名进行赋值,就自动声明并定义了一个变量。比如: x = 1, 就定义了整数变量x,不需要写x的类型名称。
实际上在大多数情况下,完全可以不用知道变量的类型名,只有在涉及到一些高级特性后才需要用到类型名,获取变量的类型可以用内置函数type,比如type(x)返回x的类型。
因为变量需要存储数据,因此需要占用内存,定义一个变量,就会给该变量分配内存用于保存数据。

数字

python包括整数、浮点数(即实数)、布尔数和复数四种数字类型,复数因为一般的应用不会用到,后面忽略不讲。

整数

python的整数(int)都是有符号的,也就是有正负(像c语言,有一种无符号整数类型,就是只有正数和0值,没有负数值),书写方式有10进制,16进制、八进制、二进制。
整数的最大值是没有限制的,只要内存够大,多少位都可以。
以下的实例是在python命令行中进行的,只要在linux shell中或windos cmd中敲python,就会出来,更具体可以自行搜索,这里就不说了。

>>> a = 17      #10进制,'>>>'是命令提示符或叫输入提示符,就是让你在后面输入代码
>>> b = 0x11    #16进制
>>> c = 0o21    #八进制,很少用
>>> d = 0b10001 #二进制
>>> a
17
>>> b
17
>>> c
17
>>> d
17
>>>
>>>
>>> a=-17 #负数
>>> b=9999999999999999999999999999999999999999999999999999999 #最大值没有限制
>>> a
-17
>>> b
9999999999999999999999999999999999999999999999999999999
>>> 
>>> type(a)  #内置函数type()用于返回变量或值的类型
<class 'int'>

可以用内置函数binintocthex把整数转成2进制、10进制、8进制和16进制字符串

>>> bin(16)
'0b10000'
>>> int(0b10000)
16
>>> oct(16)
'0o20'
>>> hex(16)
'0x10'

浮点数

浮点数(float)也都是有符号的,采用双精度

>>> a = 10.1 
>>> b = -10.1
>>> c = 10.1e2  # 10.1的10的2次方, e表示10
>>> d = 10.1e-2
>>> a
10.1
>>> b
-10.1
>>> c
1010.0
>>> d
0.101

布尔

布尔类型(bool)只有两种值:TrueFalse,布尔类型是整数的子类型,因此True的整数值为1,False的整数值为0
注意TrueFalse首字母大写

>>> a = True
>>> b = False
>>> 
>>> a
True
>>> b
False
>>> a + 1
2
>>> b + 1
1

布尔值主要用来做条件判断,布尔值可以做andornot运算

>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not b
True
>>> 2 > 3
False
>>> 2 < 3
True

数字运算

整数、浮点数和布尔数都可以做以下加减乘除等运算,注意对后面两种运算,如果是负数的话,运算结果有点违反常识,会比较难理解,但因为一般很少用到,暂时先忽略,有用到的再去深究。

运算 结果 例子
x + y 加法
x - y 减法
x + y 乘法
x / y 除法,返回浮点数
x // y 返回除法的整数部分,丢弃分数部分,向下取整
x % y 取模,返回除法的余数

另外,整数类型还可做位运算

运算 结果 例子
x | y 按位或
x ^ y 按位异或
x & y 按位与
x << n 左移,相当于乘于2的n次方
x >> n 右移,相当于除于2的n次方,但结果小于1,则为0
~x 按位取反

None

对一个变量进行赋值时,如果暂时不知道赋什么值,就把他置为None,表示这个变量为空,None是一种特殊的常量值,类型为NoneType。
函数没有返回值时,默认返回None
注意None不是0,也和c语言里的空指针null不一样。

>>> type(None)
<class 'NoneType'>
>>> 
>>> a = None 
>>> type(a)
<class 'NoneType'>

序列

...待续

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容