![](https://i-blog.csdnimg.cn/direct/ca6cd93dddaf48e9bd32a03055cb7698.jpeg)
文章目录
- 一、Python的起源
- 二、Python的用途
- 三、Python的优缺点
- 四、基础语法
- END
一、Python的起源
1989 年,吉多·范罗苏姆(Guido van Rossum)在圣诞节的时候(当时 33 岁), 因为在家里待着无聊, 为了打发时间, 开始了 Python 的开发。
二、Python的用途
- 科学计算&数据分析
- Web 开发(搭建网站)
- 自动化运维
- 人工智能
- 爬虫程序
- 自动化测试
总结
Python 目前是一个应用场景非常广泛的编程语言。
三、Python的优缺点
优点
- 语法言简意赅, 容易上手.
- 功能强大, 用途广泛.
- 生态丰富, 具有海量的成熟第三方库.
- 方便调用 C/C++ 编写的代码进行 高性能/系统级 操作.
缺点
- 执行效率比较弱.
- 对于多核心并发程序支持偏弱.
- 动态类型系统对于大型项目不太友好
四、基础语法
(1)常量和表达式
形如
1 + 2 - 3
这样是算式, 在编程语言中称为 表达式,
算式的运算结果, 称为 表达式的返回值其中
1 , 2 , 3
这种称为 字面值常量,
+ - * /
这种称为 运算符 或者 操作符。
(2)变量
变量可以视为是一块能够容纳数据的空间。
这个空间往往对应到 "内存" 这样的硬件设备上。
变量的语法
(i)定义变量
python
a = 5
a
为变量名. 当我们创建很多个变量的时候, 就可以用名字来进行区分。
=
为赋值运算符, 表示把=
右侧的数据放到=
左侧的空间中
(ii)变量命名的规则
硬性规则(务必遵守)
- 变量名由数字、字母、下划线构成.
- 数字不能开头.
- 变量名不能和 "关键字" 重复.
- 变量名大小写敏感.
num
和Num
是两个不同的变量名.
软性规则(建议遵守)
- 变量名使用有描述性的单词来表示, 尽量表达出变量的作用.
- 一个变量名可以由多个单词构成, 长一点没关系, 但是含义要清晰.
- 当变量名包含多个单词的时候, 建议使用 "驼峰命名法". 形如
totalCount , personInfo
这种, 除了首个单词外, 剩余单词首字母大写.
(3)变量的类型
(a)整数(int)
和
C++ / Java
等语言不同,Python
的int
类型变量, 表示的数据范围是没有上限的. 只要内存足够大, 理论上就可以表示无限大小的数据.
(b)浮点数(float)
和
C++ / Java
等语言不同,Python
的小数只有float
一种类型, 没有double
类型.
但是实际上Python
的float
就相当于C++ / Java
的double
, 表示双精度浮点数.
(c)字符串(str)
使用 ' '
或者 " "
引起来的, 称为 字符串. 可以用来表示文本。
在
Python
中, 单引号 构成的字符串和 双引号 构成的字符串, 没有区别.
'hello'
和"hello"
是等价的。(在Python
中, 不存在字符类型)
(d)布尔类型(bool)
布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假)
。
注意:(单词True
和 False
首字母要大写)
(e)其他
之后的Python专栏会介绍。
(4)变量类型存在的意义
(a)类型决定了数据在内存中占据多大空间
例如: float
类型在内存中占据 8 个字节.
计算机里面使用二进制来表示数据. 也就是每个位只能表示 0 或者 1。
1 个二进制位, 就称为是一个 "比特位", 8 个二进制位, 就称为一个 "字节" (Byte) 。
一个float
变量在内存中占据 8 个字节空间, 也就是 64 个二进制位.
(b)类型其实约定了能对这个变量做什么样的操作
例如 int / float
类型的变量, 可以进行 + - * /
等操作;
而 str
类型的变量, 只能进行 +
(并且行为是字符串拼接), 不能进行 - * /
, 但是还能使用 len
等其他操作.
(c)总结
类型系统其实是在对变量进行 "归类". 相同类型的变量(数据) 往往具有类似的特性和使用规则
(5)注释
注释是一种特殊的代码, 它不会影响到程序的执行, 但是能够起到解释说明的作用, 能够帮助程序员理解程序代码的执行逻辑。
注释的语法
(1) 单行注释
使用 #
开头的行都是注释
python
# 这是一行注释.
(2) 文档注释
使用三引号引起来的称为 "文档字符串", 也可以视为是一种注释。
- 可以包含多行内容;
- 一般放在 文件/函数/类 的开头;
"""
或者'''
均可 (等价)
python
"""
这是文档字符串
"""
(3) 注释的规范
1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新;
2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论;
3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论;
4. 积极向上: 注释中不要包含负能量。
(6)输入输出函数
输出
Python
使用 print
函数输出。
python
print('hehe')
不仅能输出一个字符串, 还可以输出一个其他类型的变量
python
a = 1;
print(a)
b = False
print(b)
更多的时候, 我们希望能够输出的内容是混合了字符串和变量的~
例如:
在控制台输出 num = 1
python
num = 1
print(f"num = {num}")
![](https://i-blog.csdnimg.cn/direct/dd76d917dd124af391b9f1a48b80634a.png)
使用 f 作为前缀的字符串, 称为
f-string
里面可以使用{ }
来内嵌一个其他的变量/表达式.
输入
python
使用 input
函数, 从控制台读取用户的输入.
python
num = input('请输入一个整数: ')
print(f'你输入的整数是 {num}')
![](https://i-blog.csdnimg.cn/direct/d1b8852deabc4e8d98348a7157814e81.png)
input
的参数相当于一个 "提示信息", 也可以没有.
input
的返回值就是用户输入的内容. 是字符串类型(str
).
(7)运算符
算术运算符
算术运算符 | 符号 |
---|---|
加法 | + |
减法 | - |
乘法 | * |
除法 | / |
取模(求余数) | % |
求乘方 | ** |
取整除法(也叫地板除) | // |
注意事项:
/
中不能用 0 作为除数. 否则会 抛出异常;- 整数
/
整数 结果可能是小数. 而不会发生截断; %
不是 "百分数", 而是求余数;**
是求乘方. 不光能算整数次方, 还能算小数次方;//
是取整除法(也叫地板除). 整数除以整数, 结果还是整数(舍弃小数部分, 并向下取整. 不是四舍五入)。
关系运算符
关系运算符 | 符号 |
---|---|
大于 | > |
小于 | < |
是否相等 | == |
大于等于 | >= |
小于等于 | <= |
不等于 | != |
注意事项:
- 如果关系成立, 则表达式返回
True
; 如果关系不符合, 则表达式返回False
。 - 关系运算符不光针对整数/浮点数进行比较, 还能针对字符串进行比较。(字符串比较大小, 规则是 "字典序")
- 浮点数正确的比较方式: 不再严格比较相等了, 而是判定差值小于允许的误差范围。
- 对于浮点数来说, 不要使用
==
判定相等。(浮点数在计算机中的表示并不是精确的! 在计算过程中, 就容易出现非常小的误差)
python
a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.000001)
逻辑运算符
逻辑运算符 | 符号 |
---|---|
并且 | and |
或者 | or |
逻辑取反 | not |
注意事项:
and
并且. 两侧操作数均为True
, 最终结果为True
. 否则为False
. (一假则假)or
或者. 两侧操作数均为False
, 最终结果为False
. 否则为True
. (一真则真)not
逻辑取反. 操作数本身为True
, 则返回False
. 本身为False
, 则返回True
.- a < b
and
b < c 这个操作等价于 a < b < c .
短路求值
对于
and
, 如果左侧表达式为False
, 则整体一定为False
, 右侧表达式不再执行.
对于or
, 如果左侧表达式为True
, 则整体一定为True
, 右侧表达式不再执行.
赋值运算符
赋值运算符 | 符号 |
---|---|
赋值 | = |
(1)链式赋值
python
a = b = 10
(2)多元赋值
python
a, b = 10, 20
其他运算符
比如 身份运算符 (is, is not
), 成员运算符 (in, not in
), 位运算符( & | ~ ^ << >>
) 等.
END
每天都在学习的路上!
On The Way Of Learning
![](https://i-blog.csdnimg.cn/direct/77db8c14d0ff426dbce6fd80d504cb97.jpeg)