一:python的变量
1、变量的介绍 (运行时可以发生变化的量)
① 变量的概念基本上和初中代数的方程是一致的,只是在计算机程序中变量不仅可以是数字,还可以是任何数据类型。
②变量在程序中就是一个变量名表示了,变量名必须是大小写英文,数字和 -(下划线)的组合,且不能使用数字开头。
2、定义一个变量a,可以等于10;20;300 等等都可以
3、为什么要使用变量?
便于维护这个值,运算中都是使用变量使用着,哪里出错了可以直接更换变量的数值即可
4、变量的定义
① # 在java、c、c++这些强数据类型语言中,定义变量必须申明变量的类型
int a = 10;
② 但是在# python是弱数据语言,在定义使用变量的过程中,不用申明变量的类型
# 解释器会自动根据值来判断
变量名称 = 变量值 # python的变量定义
a="xixi" a=10
5、查看简单类型
a="xixi"
print(type(a)) //<class 'str'> 字符串 输出类型
type(a) //一样可以输出
a=20
type(a) //<class 'int'> 整型 输出类型
a=102.235
type(a) //<class 'float'> 浮点型 输出类型
全局函数包含:
print(字符串) # 在终端中输出字符串,标准输出函数
type(变量) # 判断变量的类型
input("字符串提示") # 标准输入函数
int(字符串) # 将字符串转换为整数
float(字符串) # 将字符串转换为浮点数
str # 将数字转换为字符串
6、变量的命名规范
①变量名称只能有 【大小写字母(大小写敏感)、数字、 _ 】 等有效符号的组成
特殊符号:% ! 这些是不行的
②数字不能开头!!!
35=26 3name=112 //都不行的
③不能以关键字或者保留字作为变量的名称!!
if for while //都是不行的
import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass',
'raise', 'return', 'try', 'while', 'with', 'yield']
④变量命名尽量有意义
//小驼峰法 常见于 c、c++、C#、Java userAddress
//下划线 user_name
//大驼峰法 ---类名称 UserName
二:常见运算符
1、算术运算符—数学上的一些基本运算符号
+ # 加
- # 减
* # 乘法
/ # 除法
% # 求余、求模、取模
// # 地板除法,整除
** # 幂次方
2、关系运算符 (比较运算符)
> # 大于
< # 小于
>= # 大于等于
<= # 小于等于
== # 等于,注意:在程序一般 等于判断== ,单等号 赋值运算符
!= # 不等于,在python2中存在这个符号<>,也表示不等于,注意:python3去掉了这个符号
结果都是布尔值
3、逻辑运算符
and # 并且,所有条件都成立则成立,有一个条件为假,则为假
or # 或者,只要有一个条件成立,则成立,全局为假,则为假
not # 不是,取反
4、成员运算符
in # 表示是否在容器中
not in # 表示不在容器中
5、赋值运算符
= # 将右侧的值赋给左侧 赋值运算符
+= # a = a + 1 <==> a += 1
-= #a =a- 1 <==> a - = 1
*= # a = a * 1 <==> a *= 1
/= # a = a / 1 <==> a /= 1
//= # a = a // 1 <==> a //= 1
%= # a = a % 1 <==> a %= 1
6、自加和自减运算符 *************没有的
i++
++i
i--
--i
注意:python中没有自加和自减运算符,使用赋值运算符来替代完成运算
7、位运算(补充,选择学习)
①bit 位数 单位
位(bit) 计算机底层二进制数据,是以二进制的补码方式运算
bit:一个二进制数据
Byte:8b
K:1024B
M:1024K
G:1024M
T:1024G
P:
E:
一个字节 无符号:255~0 有符号:+127~-128
②原码 反码 补码
正数:源码、反码、补码一致
负数:
原码: 就是二进制 -1 1000 0001 0000 0001
反码: 符号位不变,其余各位取反 1111 1110 + 1111 1111
补码: 反码 + 1 1111 1111 ----------
1 0000 0000 溢出 -1+1=0 不溢出 的 算回原码就是数值
③ 与 或 异或运算
与: 10&11 10
或: 10|11 11
异或: 10^11 1
10 0000 1010 0为真 1为假
& 与运算 1&0 为0 1&1 为1
11 0000 1011
------------------------
0000 1010 10
10 0000 1010 1|0为真1 0|0 为假0
|
11 0000 1011
------------------------
0000 1011 11
10 0000 1010 打散数据
^ 一真一假 即为真 同真同假为 假
11 0000 1011
------------------------
0000 0001 1
④左移 右移运算
左移运算(<<): 10<<2 40 1010 10 1000 后面补零
右移运算(>>):右移后,前面补0
注意:在java、C、C++中,存在有符号和无符号两种右移方式:
|-- >> 有符号右移:前面使用符号位补
|-- >>> 无符号右移:前面补0