文章目录
- 1.常量和表达式
- 2.变量与类型
-
- [2.1 变量的语法](#2.1 变量的语法)
-
- [2.1.1 定义变量](#2.1.1 定义变量)
- [2.1.2 变量命名规则](#2.1.2 变量命名规则)
- [2.1.3 使用变量](#2.1.3 使用变量)
- [3. 变量的类型](#3. 变量的类型)
-
- [3.1 整型](#3.1 整型)
- [3.2 浮点型](#3.2 浮点型)
- [3.3 字符串](#3.3 字符串)
- [3.4 布尔类型](#3.4 布尔类型)
- [3.5 为什么需要多种类型](#3.5 为什么需要多种类型)
- [3.6 动态类型](#3.6 动态类型)
- 4.注释
-
- [4.1 注释语法](#4.1 注释语法)
-
- [4.1.1 注释行](#4.1.1 注释行)
- [4.1.2 文档字符串](#4.1.2 文档字符串)
- [4.1.3 注释的规范](#4.1.3 注释的规范)
- 5.输入输出
-
- [5.1 通过控制台输出](#5.1 通过控制台输出)
- [5.2 通过控制台输入](#5.2 通过控制台输入)
- 6.运算符
-
- [6.1 算术运算符](#6.1 算术运算符)
- [6.2 关系运算符](#6.2 关系运算符)
- [6.3 逻辑运算符](#6.3 逻辑运算符)
- [6.4 赋值运算符](#6.4 赋值运算符)
1.常量和表达式
我们可以把Python当成一个计算器,来进行一些算术运算。
python
print(1+2+3)
print(2*9)
print(9/2)
#打印结果
#6
#18
#4.5
print
是python的一个内置函数,功能就是打印到显示器中。
- 在运算符和数字间,可以没有空格也可以存在空格,为了美观通过会带有一个空格。
值得注意的是,在python中直接
/
结果是会保留一位整数的,这点和C/C++以及Java是不同的。不过你想要取整的化可以使用2 // 3
来执行。
2.变量与类型
在C/C++中,当我们要进行计算时,通过需要把一些计算的中间过程保存起来,这个时候需要使用到变量了。
python
a = 1
b = 2
c = a+b
print(c)
#打印结果:3
这里的a,b,c
就是变量。
变量可以视为一块能够容纳数据的空间,这个空间往往对应到内存这样的硬件上。
2.1 变量的语法
2.1.1 定义变量
python
a = 100
# a为变量名 = 为赋值运算符 100为变量的赋值
通过定义变量,如果你学过C/C++或者Java你会发现。这里没有确定变量的类型,其实在python中中是不需要确定变量的类型,其类型会根据你的赋值,自动定义。
2.1.2 变量命名规则
- 变量名由数字字母下划线构成。
- 数字不能开头。
- 变量名不能和关键字重复。
- 变量名区分大小写。
- 变量名尽量使用有意义的单词来命名。
- 当变量名由多个单词组成时,建议使用"驼峰命名法",比如:
totalCount
,除了首个单词外,其余单词首字母大写。
2.1.3 使用变量
读取变量的值
python
a = 10
print(a)
修改变量的值
python
a = 10
a = 20
print(a)
值得注意的是,因为python当成定义不需要确定类型的缘故,修改变量的值和定义变量的时看起来是没有区别的
赋值给其他变量
python
a = 10
b = a
print(a)
print(b)
3. 变量的类型
变量里面存储的不仅仅是数字,还可以存储其他种类的数据,我们引入了类型这样的概念。
上文也说了,python和C/C++/Java是不同的,不需要显式指定,而是在赋值的时候确定的。
那么如何知道python中的类型呢?
python提供了type
这个内置函数。
python
a = 10#整型
b = 1.1#浮点型
c = "abc"#字符串
d = True#布尔类型
print(type(a))
print(type(b))
print(type(c))
print(type(d))
"""
打印结果
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
"""
3.1 整型
和C++/java等语言不同,python的int类型变量,表示的数据范围是没有上限的,只要内存足够,理论上是可以无限大的。
3.2 浮点型
与C++/java等语言不同,python的小数只有float一种类型,没有double类型,但实际上python中的float就相当于C++/java中的double,表示双精度浮点数。
3.3 字符串
在python中使用''
或者""
都可以表示字符串。
可以利用内置函数len
来测量字符串的长度。
python
a = 'abcdef'
print(len(a))
# 打印结果: 6
可以使用+
来对两个字符串进行连接。
python
a = 'hello '
b = 'yui'
print(a+b)
#打印结果:hello yui
注意不要用不同类型的变量进行相加。
3.4 布尔类型
True 表示真
False 表示假
用于逻辑判断。
3.5 为什么需要多种类型
- 类型决定了数据在内存中占据的多大空间。
- 类型其实也确立你能对这个变量进行怎么的操作。
3.6 动态类型
在python中,一个变量是什么类型,是可以在程序运行过程中改变的,这个特性称为动态类型
python
a = 10
print(type(a))
a = "hahaha"
print(type(a))
'''
<class 'int'>
<class 'str'>
'''
在程序运行过程中a的类型由int变成了str
C++/java这种语言是不允许这样的操作的,一个变量定义类型后就固定了。这样的特性就被称为静态类型。
动态类型,尽管会大大节约代码量,但是对于非本代码的创造者来说是会增加阅读难度的。
4.注释
在前面的代码中我已经在运用注释了,那么注释是什么呢?
注释是一种对代码的解释,能够帮助程序员能好的理解代码,同时不会影响程序的运行。
在初期的代码量极少的情况下,注释的作用可能可有可无,但是一旦开始写一些复杂的程序时,注释的作用就非常的大了,如果某段代码你长时间没有接触后在次接触时,注释会为你节约大量的理解时间,对于他人同样如此。
4.1 注释语法
4.1.1 注释行
使用#
开始的行都是注释。
python
#注释
4.1.2 文档字符串
使用三引号引起来的称为文档字符串
,也可以将其视为一种注释。
- 可以包括多行内容。
- 一般放在文件/函数/类的开始。
'''
或者"""
都可。
python
'''
文档字符串
文档字符串
文档字符串
'''
4.1.3 注释的规范
- 内容准确:注释内容要和代码一致,匹配,并在代码修改时及时更新。
- 篇幅合理:注释不应该太精简,同时也不能篇幅太长。
5.输入输出
为了和用户进行交互。
- 用户把信息传递给程序的过程,称为输入。
- 程序把结果展示给用户的过程,称为输出。
输入和输出最基本的方法就是控制台,用户提供控制台输入一些字符串,程序在通过控制台打印一些字符串。
5.1 通过控制台输出
使用内置函数print
输出到控制台
python
print('hello!!!!!!!!')
输出num = 100
python
num = 100
print(f'num = {num}')
#打印结果:num = 100
- 使用f表示作为前缀的字符串,称为
f-string
。 - 里面可以使用{}来内嵌一个其他变量的/表达式。
5.2 通过控制台输入
python使用input函数来读取用户的输入。
python
num = 0
num = input('请输入一个整数:')
print(f'你输入的整数是:{num}')
'''
请输入一个整数:1000
你输入的整数是:1000
'''
- input的参数相当于一个提示信息,可有可无,看需求。
- input的返回值就是用户输入的内容,是字符串类型。
python
a = input('请输入第一个整数:')
b = input('请输入第二个整数:')
print(f'a + b = {a+b}')
'''
请输入第一个整数:12
请输入第二个整数:34
a + b = 1234
'''
这里的+
是字符串拼接。
为了避免这种情况,我们需要进行类型转化。
python
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
print(f'a + b = {a+b}')
'''
请输入第一个整数:12
请输入第二个整数:34
a + b = 46
'''
6.运算符
6.1 算术运算符
像+ - * / % ** //
这些进行算术运算的运算符都是算术运算符。
整数/整数
结果可能是小数,而不会截断。%
是求余数的意思。**
是求乘方,不光能算整数次方,而可以计算小数次方。//
是取整除法,当结果为小数时,会像下取整。
6.2 关系运算符
像< <= > >= == !=
这一系列的运算符被称为关系运算符,它们是在比较操作数间的关系。
<=
小于等于>=
大于等于==
等于!=
不等于
一旦关系表达式符合,那么表达式会返回True,如果不符合,表达式会返回False
python
a = 100
b = 10
print(a == b)
print(a != b)
print(a > b)
print(a >= b)
print(a > b)
print(a <= b)
'''
False
True
True
True
True
False
'''
除此之外,python还可以进行字符串的比较。
python
a = 'hello'
b = 'world'
print(a == b)
print(a != b)
print(a > b)
print(a >= b)
print(a > b)
print(a <= b)
'''
False
True
False
False
False
True
'''
- 直接使用 == 或者!= 即可对字符串内容判断相等。
- 字符串比较大小,规则是字典序。
对于浮点数来说,不能使用 == 判定相等。
python
print(0.1+0.2 == 0.3)
# False
print(0.1+0.2)
#0.30000000000000004
浮点数在计算机中的表示并不是精确的,在计算过程中,容易出现非常小的误差。
为此我们只能自己限定一个误差范围来进行比较。
python
a = 0.1+0.2
b = 0.3
print(-0.000001<(a-b)<0.000001)
6.3 逻辑运算符
像ans or not
这一系列的运算符称为逻辑运算符。
- and 表示 且 特点:一假则假
- or 表示 或 特点:一真则真
- not 表示 非 特点:真假转换
python
a = 10
b = 20
c = 30
print(a < b and b < c)
print(a < b and b > c)
print(a > b or b > c)
print(a < b or b > c)
print(not a < b)
print(not a > b)
'''
True
False
False
True
False
True
'''
在python中a<b and b<c
可以写成a<b<c
这个设定和大部分编程语言都不一样。
关于短路问题
- 对于and,如果左侧表达式为False,整体一定为False,右侧表达式不再执行。
- 对于or,如果左侧表达式为True,整体一定为True,右侧表达式不再执行。
6.4 赋值运算符
对于=
的使用
=
是表达赋值的意思,要和==
区分
链式赋值
python
a = b = c = 100
多元赋值
python
a,b = 10,100
利用多元赋值实现两个变量的交换。
python
# 常规写法
a = 10
b = 20
tmp = 10
a = b
b = tmp
#多元赋值
a = 10
b = 20
a,b = b,a
复合赋值运算符
python还有一些复合赋值运算符,比如:+= -= *= /= %=
python
# a += 1 等同于 a = a+1
a = 10
a = a + 1
print(a)
a = 10
a += 1
print(a)
#11
#11
注意:python中不支持++ --
这种自增/自减运算符。