变量
变量含义:用来存储一些之后可能会变化的值
变量赋值:通过赋值运算符 = 变量名和想要赋予变量的值连接起来,同一变量可以反复赋值不同类型
short_id=1
print(short_id)
1
type(short_id)
Out[10]: int
short_id="1"
print(short_id)
1
type(short_id)
Out[13]: str
命名规范
- 一般变量名,wood_id、wood_program_id;
- 类名首字符为大写,如Python内置模块collections.abc中的Iterable类
- 类方法名:get_wood_id();
- 其他特殊变量,会全部大写,例如常量,MY_PI、MY_COUNT;
多个变量赋值
- 允许同时为多个变量赋值。如:a = b = c = 1
- 可以多个变量赋值使用一个语句完成,如:number1,numbe2,numbe3=1,2,3
解包/封包
- 解包:一组数据(元组)进行一一对应的赋值给每个变量
- 封包:如果一个变量进行赋予多个值的话,则表示的是该变量实际就是一个元组类型,该过程称之为封包操作;
常量
常量表示“不能变”的变量,pi=3.1415
python数据类型
- Numbers(数值)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
- Set(集合)
数值型
a1.整型:在python中其默认的数据类型就是int类型;
>>>number=10
>>>type(number)
<type 'int'>
a2.浮点型:其数据类型是float类型;
>>>number=1.1
>>>type(number)
<type 'float'>
扩展说明:
1.整形与浮点型间可实现数据类型转换;函数int、float
2.所有的值默认都是以十进制形式进行表示;0b(二->十),0o(八->十),0x(十六->十)(对应函数是:bin、oct、hex)
3.在计算机中都是以固定的多少位进行处理数据,如果一个数其转换成二进制不足指定的位的话,则其对应的高位会采取补位补0操作;
a3.复数类型:实部+虚部 (z=a+bi);虚部单位是j;
>>>number=1+1j
>>>type(number)
<type 'complex'>
扩展说明:
- number=2+3j,real获取复数的实部, imag获取实数虚部,
bool类型
布尔值可以进行 and (&)、 or(|) 和 not 运算;逻辑判定型存在两个值:True、False;常用false值有:""、0、[]、None、()、{}
>>>type(True)
<type 'bool'>
空值类型
空值用 None 表示,一般用来填充表格中缺失值,用 type() 函数来获取某值类型
>>>type(None)
<type 'NoneType'>
类型转换
函数 int()、float()、str() 和 bool() 分别用于将变量转换成整型、浮点型、字符串和布尔型变量
>>>number1=1.2
>>>int(number1)
1
>>>number2=2
>>>float(number2)
2.0
>>>number3=3
>>>str(number3)
'3'
>>>bool(number3)
True
思考:如果存在一个变量str1="hello",然后强制转换成int,即int(str1),其结果是?
isinstance用法
isinstance作用:判断object是否与第二个参数的类型相同,若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。
# -*- coding: utf-8 -*-
test_str = '123'
print(isinstance(test_str,str))#判断test_str是否是字符串类型
test_int = 123
print(isinstance(test_int,int)) #判断test_int是否是int类型
test_float = 1.23
print(isinstance(test_float,float))#判断test_float是否是float类型
test_bool = True
print(isinstance(test_bool,bool))#判断test_bool是否是bool类型
ASCII码获取
作用:实现ASCII码与字符相互转换。
ASCII码转换,分别函数是:ord(字符)、chr(整型数字)
ord()函数接受一个字符类型参数,并返回一个十进制整数;
chr()函数接受一个整型参数,并返回一个与其ASCII码相对应的字符。
>>> ord('A')
65
>>> chr(65)
'A'
运算符
算术运算符
以下变量a为10,变量b为5:
运算符 | 描述 | 实例 |
+ | 加:两个对象相加 | a+b输出结果15 |
- | 减:得到复数或者是一个数减去另一个数 | a-b输出结果5 |
* | 乘:两个数相乘或者是返回一个被重复若干次的字符串 | a* b输出结果是50 |
/ | 除:x除以y | a/b输出结果2 |
% | 取模:返回除法的余数 | b%a 输出结果0 |
** | 幂:返回x的y次幂 | a** b 为10的5次方,输出结果100000 |
// | 取整除(地板除):返回商的整数部分 | 9//2输出结果4,9.0//2.0输出结果4.0 |
比较运算符
以下变量a为10,变量b为20:
运算符 | 描述 | 实例 |
== | 等于:比较对象是否相等 | (a==b) 返回False |
!= | 不等于:比较两个对象是否不相等 | (a!=b) 返回True |
> | 大于:返回x是否大于y | (a>b) 返回False |
< | 小于:返回x是否小于y | (a<b) 返回True |
>= | 大于等于:返回x是否大于等于y | (a>=b) 返回False |
<= | 小于等于:返回x是否小于等于y | (a<=b) 返回True |
赋值运算符
以下变量a为10,变量b为20:
运算符 | 描述 | 实例 |
-= | 减法赋值运算符 | c-=a等价于c=c-a |
* = | 乘法赋值运算符 | c*=a等价于c=c* a |
/= | 除法赋值运算符 | c/=a等价于c=c/a |
%= | 取模赋值运算符 | c%=a等价于c=c%a |
** = | 幂赋值运算符 | c**=a等价于c=c** a |
//= | 取整除赋值运算符 | c//=a等价于c=c//a |
逻辑运算符
Python语言支持逻辑运算符,以下变量a为10,变量b为20:
运算符 | 逻辑表达式 | 描述 | 实例 |
And | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y的计算值 | (a and b) 返回 20 |
Or | x or y | 布尔“或” - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值 | (a or b) 返回 10 |
Not | not x | 布尔“非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True | not(a and b)返回False |
位运算符
运算符 | 描述 | 实例 |
& | 按位与运算符 | (a&b)输出结果是12 二进制解释:0000 1100 |
| | 按位或运算符 | (a|b)输出结果四61 二进制解释:0011 1101 |
^ | 按位异或运算符 | (a^b)输出结果是49 二进制解释:0011 0001 |
~ | 按位取反运算符 | (~a)输出结果是-61 二进制解释:1100 0011 在一个有符号二进制数的补码形式 |
<< | 左移动运算符:<<“右边的数指定移动的位数,高位丢弃,低位补0 | a << 2 输出结果 240 ,二进制解释:1111 0000 |
>> | 右移动运算符 | a >> 2 输出结果 15 ,二进制解释:0000 1111 |
扩展内容:原码、反码、补码
结论:保存正负数,不断改进方案后,选择了最好的"补码"方案
参考信息:运算符优先级
运算符 | 描述 |
** | 指数(最高优先级) |
~+- | 按位反转,一元加号、减号(最后两个方法名为+@和-@) |
* / % // | 乘、除、取模、取整除 |
+ - | 加法、减法 |
>> << | 右移、左移动运算符 |
^ | | 位运算符 |
<= < >= > | 比较运算符 |
<> != == | 等于运算符 |
= += -= * = /= ** = | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |