目录
Python的优点:
- 简单明确,跟其他很多语言相比,Python更容易上手。
- 开放源代码,拥有强大的社区和生态圈。
- 能够在Windows、macOS、Linux等各种系统上运行。
Python的应用领域
目前Python在Web服务器应用开发、云基础设施开发、网络数据采集(爬虫)、数据分析、量化交易、机器学习、自动化测试、自动化运维等领域都有用武之地。
Python中有两种形式的注释:
- 单行注释:以#和空格开头,可以注释掉从
#
开始后面一整行的内容。 - 多行注释:三个引号开头,三个引号结尾,通常用于添加多行说明性内容。
计算机常识:
计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们常说的中央处理器,它的功能是执行各种运算和控制指令。刚才我们提到过程序是指令的集合,写程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情。目前,我们使用的计算机基本都是“冯·诺依曼体系结构”的计算机,这种计算机有两个关键点:一是要将存储设备与中央处理器分开;二是将数据以二进制方式编码。
变量和类型:
在编程语言中,变量是数据的载体,简单的说就是一块用来保存数据的内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多种类型,最常见的就是数值,除了数值之外还有文本、图形、音频、视频等各种各样的数据。虽然数据在计算机中都是以二进制形态存在的,但是我们可以用不同类型的变量来表示数据类型的差异。Python中的数据类型很多,而且也允许我们自定义新的数据类型(这一点在后面会讲到),这里我们需要先了解几种常用的数据类型。
常见类型:
当然,作为一个专业的程序员,给变量(事实上应该是所有的标识符)命名时做到见名知意也非常重要。
- 整型(int):Python中可以处理任意大小的整数,而且支持二进制(如
0b100
,换算成十进制是4)、八进制(如0o100
,换算成十进制是64)、十进制(100
)和十六进制(0x100
,换算成十进制是256)的表示法。 - 浮点型(float):浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如
123.456
)之外还支持科学计数法(如1.23456e2
)。 - 字符串型(str):字符串是以单引号或双引号括起来的任意文本,比如
'hello'
和"hello"
。 - 布尔型(bool):布尔值只有
True
、False
两种值,要么是True
,要么是False
。变量命名
对于每个变量我们需要给它取一个名字,就如同我们每个人都有自己的名字一样。在Python中,变量命名需要遵循以下这些规则,这些规则又分为必须遵守的硬性规则和建议遵守的非硬性规则。
- 硬性规则:
- 规则1:变量名由字母、数字和下划线构成,数字不能开头。需要说明的是,这里说的字母指的是Unicode字符,Unicode称为万国码,囊括了世界上大部分的文字系统,这也就意味着中文、日文、希腊字母等都可以作为变量名中的字符,但是像
!
、@
、#
这些特殊字符是不能出现在变量名中的,而且我们强烈建议大家尽可能使用英文字母。 - 规则2:大小写敏感,简单的说就是大写的
A
和小写的a
是两个不同的变量。 - 规则3:变量名不要跟Python语言的关键字(有特殊含义的单词,后面会讲到)和保留字(如函数、模块等的名字)发生重名的冲突。
- 规则1:变量名由字母、数字和下划线构成,数字不能开头。需要说明的是,这里说的字母指的是Unicode字符,Unicode称为万国码,囊括了世界上大部分的文字系统,这也就意味着中文、日文、希腊字母等都可以作为变量名中的字符,但是像
- 非硬性规则:
- 规则1:变量名通常使用小写英文字母,多个单词用下划线进行连接。
- 规则2:受保护的变量用单个下划线开头(后面会讲到)。
- 规则3:私有的变量用两个下划线开头(后面会讲到)
- 在Python中可以使用
type
函数对变量的类型进行检查。 -
-
>>> a = 100 >>> b = 12.345 >>> c = 'hello, world' >>> d = True >>> print(type(a),type(b),type(c),type(d)) <class 'int'> <class 'float'> <class 'str'> <class 'bool'> >>>
Python中类型转换的操作:
-
>>> a = 100 >>> b = 12.345 >>> c = 'hello, world' >>> d = True >>> print(float(a),str(b),bool(c),int(d)) 100.0 12.345 True 1
Python运算符:
运算符 描述 []
[:]
下标,切片 **
指数 ~
+
-
按位取反, 正负号 *
/
%
//
乘,除,模,整除 +
-
加,减 >>
<<
右移,左移 &
按位与 ^
|
按位异或,按位或 <=
<
>
>=
小于等于,小于,大于,大于等于 ==
!=
等于,不等于 is
is not
身份运算符 in
not in
成员运算符 not
or
and
逻辑运算符 =
+=
-=
*=
/=
%=
//=
**=
&=
`=
-
>>> a = 10
>>> b = 3
>>> a += b # 相当于:a = a + b
>>> a *= a + 2 # 相当于:a = a * (a + 2)
>>> print(a)
195
例子:华氏温度和摄氏温度
>>> f = float(input('请输入华氏温度: '))
请输入华氏温度: 12
>>> c = (f - 32) / 1.8
>>> print('%.1f华氏度 = %.1f摄氏度' % (f, c))
12.0华氏度 = -11.1摄氏度
>>>
在使用print
函数输出时,也可以对字符串内容进行格式化处理,
上面print
函数中的字符串%.1f
是一个占位符,稍后会由一个float
类型的变量值替换掉它。
同理,如果字符串中有%d
,后面可以用一个int
类型的变量值替换掉它,
而%s
会被字符串的值替换掉。
除了这种格式化字符串的方式外,还可以用下面的方式来格式化字符串,
其中{f:.1f}
和{c:.1f}
可以先看成是{f}
和{c}
,表示输出时会用变量f
和变量c
的值替换掉这两个占位符,后面的:.1f
表示这是一个浮点数,小数点后保留1位有效数字。
例子:输入圆的半径求周长和面积
>>> rad=float(input ("输入圆的半径:"))
输入圆的半径:10
>>> p=3.14159
>>> c=2*rad*p
>>> s=p*rad*rad
>>> print("周长:%.2f"%c)
周长:62.83
>>> print("面积:%.2f"%s)
面积:314.16
例子:判断是否是闰年
>>> year=int(input("输入年份:")
... )
输入年份:2000
>>> is_leap=year%4==0 and year%100!=0 or year%400==0
>>> print(is_leap)
True
课程链接:https://github.com/jackfrued/Python-Core-50-Courses
今宵绝胜无人共,
卧看星河共月明。