目录
1常量和表达式
print(2/3)
# 0.6666666666666666
print(1+2/3)
# 1.6666666666666665
# 浮点数和c的存储规则相似,在内存中表示浮点数的时候,是允许有误差的
# 1+2/3 表达式
# 这个表达式的运算结果成为表达式的返回值
# 1 2 3 这样的数字,称为字面值常量
# + - 称为 运算符/操作符
2认识变量
变量命名的规则
硬性规则
变量名必须由 数字,字母,下划线,构成, 不能包含特殊符号
数字不能开头
变量名不能和python的关键字重复
python中的变量名,是大小写敏感的,区分大小写的
软性规则,建议遵守
起名时,尽量选择有描述性的单词来进行表示
尽量通过名字来表现出变量的作用
当一个单词描述不清楚的时候,可以使用多个单词来命名
不怕变量名字长,而怕变量的含义表达的不清楚
当包含多个单词的时候,命名有多种规范
1.驼峰命名,除了第一个单词的首字母之外,后续每个单词的首字母都大写
2.蛇形命名 单词之间使用下划线进行分割
变量的类型
1.整数的类型
# a=10
# print(type(a))
# <class 'int'>
# 不需要在定义变量的时候显式声明
# 而时依靠初始化语句,根据初始化的值类型来进行确定的
在py中,int能够表示的数据范围是 “无穷的”
py的int是可以根据要表示的数据的大小,自动扩容的
因此,py中没有long 类型
2.浮点数(小数)float
# C++和java里面,float是四个字节的,也叫做单精度浮点数
# double是八个字节的,也叫做 双精度浮点数
# py中的 float 就是双精度浮点数等同于 C++和java中的double
py的一个设计哲学,解决一个问题,只提供一种方案
3.字符串
字符串表示
字符串
英文字母,阿拉伯数字,标点符号,甚至汉字符号,都可以认为是“字符”
python中要求使用引号把一系列的字符引起来就构成了字符串
引号使用 ‘’ “” ‘’’ ‘’’ “”" “”"都可以
c='hello'
print(type(c));
print(c);
字符串函数
len 求长度
举例:
len( c )
拼接:
举例:a=‘hello’
b=‘world’
print(a+b)
注意
不能将字符串和数字进行相加
4.布尔类型
首字母大写
False True
5.其他类型
list,tuple,dict等等
补充延伸:类型的意义
1.不同的类型,占用的内存空间是不同的,占几个字节
int默认是4个字节,动态扩容
float 固定是八个字节
bool一个字节
str变长的
2.不同的类型,对应能够进行的操作也是不同的
int可以进行 加减乘除
str 只能+ 可以使用len求长度
6.动态类型
a的类型随着程序的运行,就发生改变
静态类型
程序运行过程中,变量的类型始终不变
C++/java中:
int a=10;
a这个变量在程序运行的整个过程中,始终都是int,如果尝试a=‘hello’,编译阶段就会报错
总结:
- 一个编程语言,是否是动态类型,只是取决于运行时,类型是否发生改变
不取决于变量定义的时候是否声明类型- python作为一种动态类型的语言,也是可以声明的
但是声明或者不声明并不影响 类型不会发生改变
- 动态类型,写法比较灵活,提高了语言的表达能力
然而在编程中,灵活是 “贬义”
灵活更容易出错- 相比之下,静态类型的语言更好一些
尤其是在大型程序中,多人协作开发
3注释
引入:
注释是一种特殊的代码,他不会影响程序的运行,但是能够期待解释说明的作用,能够帮助程序员理解程序代码的执行逻辑
位置:上面和右边
注释:文档字符串
‘’’
注释内容
‘’’
4输入和输出
格式化字符串
input执行的时候,就会等待用户输入!
用户始终不输入,就会一直在这里等待!
遇见问题:
5运算符
算数运算符
除零
有些编程语言中
整除除以零 会抛出异常
整数除以浮点数会得到无穷大的数字
python都认为是除零异常
除法 截断问题
整数除以整数,结果可能是小数,不会出现截断的情况
% 求余数
** 乘方运算
支持整数次方,和小数次方
// 地板除法(取整除法)
会对计算的结果进行向下取整
-7 // 2 = -4
关系操作符
就是比较两个操作数之间的“大小”
1.关系运算符,结果是bool类型
2.也可以比较字符串
比较规则,->字典序
3.针对中文字符串进行比较是没有意义的
计算机中,中文是用多个字节构成的一个比较大的数字来进行比较的
4.针对浮点数,使用== 比较相等,存在一定的风险
逻辑运算符
and 并且
or 或者
not 逻辑取反
短路求值
赋值运算符
=表示赋值,意思就是把 右侧的值填充到左侧的空间中
左侧的空间必须是一个变量(左值)
a=b=20
# 先把20赋给b
# 再把b赋给a
# 相当于
# a=20
# b=20
# 链式赋值
# 一般不建议使用链式赋值
# 尽量一行代码就只是包含一个操作!
# 将10赋给a 20赋给b
a,b = 10,20
print(a,b)
6小题整理
题目选项整理
python中的字符串之间能够相加
python中的字符串不可以和整数相加
python中的整数可以和浮点数相加
python中的整数可以和布尔值相加(True为1 False为0)
python中既有字符串类型,没有有字符类型
python中只有float,没有double(float包含了float和double)
python中只有int,没有long(同上)
python中的整数表示范围无上限
下列代码合理的是:
int a=10 不正确 a:int = 10
a=10 正确 python中的; 可有可无
a=True 正确(注意大小写)
a='aaa'+10 不正确 a='aaa'+'10'