文章目录
一:python的基本类型
- 数字类型: int,float,bool,complex
- 字符串类型: string
- 列表: [ ]
- 元组 :()
- 集合: { }
- 字典:{key:value}
1. 数字类型
有 int,float,bool,complex四种
- int:整数型,如6,5,4,3,2,1
- float:浮点型,如2.3,4.5
- bool型:True,False
- complex:复数型,如1+2j
2. 混合数字类型自动升级
Number 类有 4 种,不同类型的值进行相加减结果: 例如 True+3。 结果 ?
在混合类型的表达式中, python 首先将被操作的对象(数字)转换成其中最杂的操作对象(数字)的类型,然后再对相同类型的操作对象(数字)进行数学运算。
python 划分数字类型的复杂度:bool<int<float<complex。
当一个整数与浮点数混合时,整数首先会升级转为浮点数的值之后通过浮点数的运算法则得到浮点数的结果。
bool型和int型相加
3. 数字类型强制转换
我们可以通过内置函数对数字类型进行强制转换
- int强制转换成bool-------------》bool()
- bool强制转换成int-------------》int()
- int转换成float-----------------》float()
- float转换成int-----------------》int()
- float和bool之间的转换同int和bool之间的转换
注意:int强制转换成bool中0 转换成False,非零转换成True。
bool强制转换成int中,False转换成0,True转换成1。
float强制转换int会将浮点数后面的小数部分舍去。
int强制转换float会在后面加一个0小数
例子:int型和浮点型转换并打印出类型
bool型浮点型相加并打印出类型
查看数据类型:type()
4. 输入和输出
- input():输入(input输入的全是字符串)
- print():输出
实例:
例子:买西红柿
二、 进制
-
十六进制数以 Ox 或者 ox 开头,后面接十六进制的数字 1-9 和 A-F。十六进制的数字编写成大写或小写都可以。
-
八进制数常以数 0o 0O 开头 (0 和小写或大写字母"O"),后面接着数字 0-7。
-
二进制以 0b 或者 0B 开头后面只有 0-1
下面是其他进制转换为十进制的例子
格式:
int(要转换的字符串,进制类型)
十进制转换为其他类型:
十六进制hex(要转换的);
八进制oct();
二进制:bin()
例子:
三、变量
变量定义:在内存中分配一块空间,在空间中保存数据
变量作用:存储数据
变量本身没有类型
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
改变引用:一个变量可以进行多次赋值,对应内存中改变的是引用的指向
a = 10
a = 'tom'
共享引用:多个变量可以指向同一块内存
下面是共享引用的实例:
四、 运算符
1. 算数运算符
- 加 两个对象相加 a + b 输出结果 30
- 减 得到负数或是一个数减去另一个数 a - b 输出结果 -10
- 乘 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果200
-
/ 除 x 除以 y b / a 输出结果 2.0。不管操作数的类型,都返回包含任何余数的一个浮点结果。
-
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0,它截除掉余数并且针对整数操作数返回整数,如果有任何 个操作数是浮点类型,则返回个浮点数。
-
% 取余 返回除法的余数 b % a 输出结果 0
-
** 幂 返回 x 的 y 次幂 a**b 为 10 的 20 次方, 输出结果100000000000000000000
2. 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把=号右边的结果赋给左边的变量 num=1+2 结果为num值3 |
3. 符合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a等效于 c = c+a |
-= | 减法赋值运算符 | c -= a等效于 c = c-a |
*= | 乘法赋值运算符 | c = a等效于 c = ca |
/= | 除法赋值运算符 | c /= a等效于 c = c/a |
%= | 取模赋值运算符 | c %= a等效于 c = c%a |
**= | 幂赋值运算符 | c = a等效于 c = ca |
//= | 取整赋值运算符 | c //= a等效于 c = c//a |
4. 逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果x为False,x and y 返回False,否则他返回y的计算值 | x=False y=True b = x and y print(b) #False |
or | x or y | 布尔"或" - 如果x为True,x or y 返回True,否则他返回y的计算值 | x=False y=True b = x or y print(b) #True |
not | not x | 布尔"非" - 如果x为False, 返回True,如果x为True,返回False | x=False b = not x print(b) #True |
优先级: not>and>or ;可以添加()来提升优先级
- 短路逻辑
a and b and c
如果a为False,则后面所有的and都不执行,直接返回a的值
a or b or c
如果a为True,则后面所有的or均不再执行,直接返回a的值
5. 比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 检测两个操作数值是否相等,如果是则条件变为真 | a=3,b=3 a==b True |
!= | 检测两个操作数值是否相等,如果不相等,则条件变为真 | a=1,b=3 a!=b True |
> | 检测左操作数的值是否大于右操作数的值,如果是,则条件成立 | a=7,b=3 a>b True |
>= | 检测左操作数的值是否大于或等于右操作数的值,如果是,则条件成立 | a=7,b=7 a>=b True |
< | 检测左操作数的值是否小于右操作数的值,如果是,则条件成立 | a=4,b=5 a<b True |
<= | 检测左操作数的值是否小于或等于右操作数的值,如果是,则条件成立 | a=5,b=5 a<=b True |
注意:运算符优先级如下:
**(幂) +-(正负号)*(乘) /(整除) //(取整) %(取余)+(加)-(减)==(全等)!=(不等于)>(大于)>=(大于等于)<(小于)<=(小于等于)not(非)and(与)or(或)
五、chr()和ord()方法
对应ASCII码:
chr()将数字转换成对应字符
ord()是把字字符转换成对应数字
实例:
上课做的例题:
六、标识符
标识符:对对象引用起的一个名字。如变量名、函数名等
标识符是自己定义的,有效的标识符要遵循一定的规则
标识符规则:
- 由数字、字母、下划线组成,且数字不能开头
- 长度任意长
- 标识符不能与关键字同名
注意:python中的标识符是区分大小写的;变量名a和A不相同
七、python中的关键字
关键字 : 是 python 已经使用了的标识符,所以不允许开发者自己定义和关键字相同的名字的标示符
查看 python 中的关键字
八、python 命名规范
- 见名知意;起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性)
比如: 名字 就定义为 name , 定义学生 用 student - 下划线命名法;多个单词之间使用下划线隔开
例如 my_name=’zs’ - 类的命名使用大驼峰命名法
例如 Person
补充:
除了以上这些规则外,还有一组命名惯例一一这些并非是必要的规则,但 般在实际中都遵守。
例如:
1.以单下划线开头的变量名 ( X 不会被 from module import * 语句导入。
2.前后有双下划线的变量名(_ X__ )是系统定义的变量名,对解释器有特殊意义。
3.以两下划线开头、但结尾没有双下划线的变量名(__ X) 是类的本地私有变量。
九、常量
定义:常量就是值保持不变的量
例如 π就是一个常量。
但是在 python 没有提供一种机制来保持常量不变。
如果我们想表示一个值是常量。
我们约定俗成的将变量的名称全部大写来表示一个常量。
例如 PI=3.1415926
十、注释
- 什么是注释
通过用自己熟悉的语言,在程序中对某些代码进行标注说明。 - 注释的作用
能够大大增强程序的可读性。
注意:注释不会运行。 - 注释的分类
注释分为单行注释和多行注释
(1) 单行注释
以#开头,#右边的所有的内容当做说明。只对一行内容起作用。
(2) 多行注释
多行注释是用三引号(单引号或双引号)包含的内容。可以写多行内容