常量和表达式
我们可以把Python当做一个计算器,来进行一下算数运算
形如1+2-3这样是算式,在编程语言中称为表达式,算式的运算结果称为表达式的返回值,其中1,2,3这种叫做字面值常量,+ - * /这种称为运算符/操作符
变量和类型
变量是什么
有的时候,我们需要进行的计算可能更复杂一些,需要把一些计算的中间结果保存起来,这时候就要用到变量
变量的命名规则
硬性规则(必须遵守):
1.变量名必须是由数字,字母,下划线构成,不能包含特殊符号
2.数字不能开头
3.变量名不能和Python的关键词重复
4.Python中的变量名是大小写敏感的,区分大小写
软性规则(建议遵守):
1.给变量命名的时候,尽量使用描述性的单词来表示,尽量通过名字来表现出变量的作用
2.当我们使用一个单词描述不清楚的时候,可以使用多个单词来命名,当包含多个单词的时候,命名由多种规范(1.驼峰命名,除了第一个 单词的首字母之外,其他单词的每个首字母都大写 2.蛇形命名,单词之间通过下划线_来进行分割)
变量的类型
Pyhton中的变量类型,不需要在定义变量的时候显式声明,而是依靠初始化语句,根据初始化的值的类型来进行确定的
1.整数int
在Python中,int能够表示的数据范围,是"无穷的",Python中的int可以根据要表示的数据大小自动扩容,因此Python中就没有long这样的类型,像byte,short这样的类型在Python中也不存在
2.浮点数float
Python中的float就是双精度浮点数,等同与JAVA/C++中的double
3.字符串str
字符串就是把一个个字符放到一起,这里的字符包括"英文字母,阿拉伯数字,标点符号,甚至汉字符号"
Python中要求使用引号把一系列的字符引起来就构成了字符串,引号使用'或者"都是可以的
Python中无char类型,单个字符也是字符串(也正是如此,单引号/双引号都可以引字符串)
如果字符串中包含了双引号,表示的字符串就可以用单引号引起来,如果字符串里面包含了单引号,表示字符串就可以使用双引号引起来
比如(如果外面也是双引号的Python编译器就会报错)
python
'My name is "Alex"'
如果同时有单引号和双引号,使用三引号表示或者"""
Python中字符串可以拼接,把后面的字符串拼接到前一个字符串的末尾,得到更大的字符串(这里注意不能把字符串和数字混合相加)
python
a1="hello"
a2="world"
print(a1+a2)
4.布尔bool
布尔的取值只有真和假,主要用来逻辑判定
真True 假False
(布尔值可以用来加减,True表示1,False表示0)
注意T和F是要大写的
不同类型变量的意义
1.不同类型,占用的内存空间是不同的
int默认是4个字节,会自动扩容 float 固定8个字节 bool一个字节就足够了
str变长的
2.不同的类型,能够进行的操作也是不同的
int/float +-*/ 不能使用len求长度
str 可以使用len
我们这里再介绍一下动态类型和静态类型
动态类型,程序运行的过程中,变量的类型可能发生改变(Python就是动态类型的语言)
python
a=10
print(type(a))
a='hello'
print(type(a))
a=True
print(type(a))
在上述的代码中,a的类型在不断的变化
静态类型,程序运行的过程中,变量的类型始终不变(C++,JAVA是典型的静态类型)
这里我们要明白,一个编程语言是动态类型还是静态类型,取决于运行时,类型是否发生改变,不取决与定义变量的时候是否声明类型
动态类型,写法比较灵活,提高了编程语言的表达能力
注释
种类
Python有两种风格的注释
1.注释行
使用#开头的行都是注释
2.文档字符串
使用三引号引起来的称为"文档字符串",也可以视为一种注释
可以包含多行内容
一般放在文件/函数/类的开头
"""或者'''都可(等价)
注释的规范
1.内容准确:注释内容要和代码一致,并在代码修改的时候及时更新
2.篇幅合理,注释既不应该太精简也不应该长篇大论
3.使用中文
4.积极向上:注释中不要包含负能量
输入和输出
和用户交互
程序需要和用户进行交互,用户把信息传递给程序的过程,称为"输入"
程序把结果展示给用户的过程,称为"输出"
输入输出的最基本的方法就是控制台.用户通过控制台输入一些字符串,程序再通过控制台打印出一些字符串
PyCharm运行程序,下方弹出的窗口就可以视为控制台,Windows自带的cmd也可以视为控制台
通过控制台输入
Python中通过print函数输出到控制台
python
# 输出一个字符串
print("hello")
# 输出一个其他类型的变量
a=10
print(a)
b=True
print(b)
#输出 num=10
num=10
print(f'num={num}')
使用f作为前缀的字符串,称为f-string,里面可以使用{}来内嵌一个其他的变量/表达式
通过控制台输出
Python使用input函数,从控制台读取用户的输入
python
num=0
num=input('请输入一个整数: ')
print(f'你输入的数是{num}')
input的参数相当于一个"提示信息",也可以没有
input的返回值就是用户输入的内容,是字符串类型
运算符
算数运算符
像+ - * / % ** //这种进行算术运算的运算符,称为算术运算符
注意:
1./中0不能作为除数,否则会抛出异常
2.整数/整数的结果可能是小数,而不会被截断
3.%是求余数
4.**是乘方,不光能算整数次方,还能算小数次方
5.//是取整除法(与C++和JAVA中的除类似)
关系运算符
像< <= > >= == != 这一系列的运算符叫做关系运算符,他们是比较操作数之间的关系
注意:
1.如果关系符合,则表达式返回True ,不符合的话,返回False
2.关系运算符不光针对整数/浮点数进行比较,还能针对字符串进行比较(按照ASCII码值)
3.对于浮点数来说,不要使用==判定相等(这是因为浮点数在计算机中的表示并不是精确的,在计算过程中,容易出现非常小的误差)
正确的比较方式,是判定误差值小于允许的误差范围
python
a=0.1+0.2
b=0.3
print(-0.000001<(a-b)<0.000001)
逻辑运算符
像and or not 这一系列的运算符称为逻辑运算符
and 并且,两侧均为真结果才为真
or 或者,两侧有一个真则为真
not 逻辑取反,真则返回加=假,假则返回真
注意
1.a<b and b<c 这个操作等价于a<b<c
2.短路求值
赋值运算符
1.=的使用
=表示赋值
链式赋值
python
a=b=10
多元赋值
python
a,b =10,20
2.复合赋值运算符
+=,-=,*=,/=,%=
Python中不支持自增 自减操作