感谢点赞和关注 ,每天进步一点点!加油!
目录
一、变量
1.1 什么是变量
一栋楼房,用来容纳人和物。我们可以说去302房间找某人或去303房间找某物。
在这里你可以把楼房理解成内存,302房间或303房间理解为变量名,某人或某物理解成变量的值。
变量:在内存中开辟一块空间,临时保存数据。通俗的说变量名就是存储空间的名字,通过这个名字来访问和存储空间中的数据。
1.2 变量的特点
- 可以反复存储数据
- 可以反复取出数据
- 可以反复更改数据
1.3 作用域
变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被Script中所有过程所识别,称为Script级变量,具有Script级作用域。
1.4 变量的命名规则
- 变量名只能是字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 变量名要有见名知义的效果
-
- 驼峰命名法
- 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
- 大驼峰式命名法(upper camel case): 每一个单词的首字母都采用大写字母,例如:FirstName、LastName
- 还有一种命名法是用下划线“_”来连接所有的单词,比如user_name
- 变量名区分大小写
- 以下关键字不能声明为变量名(关键字是python内部使用或有特殊含义的字符)['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']
1.5 变量的定义和使用
1. 变量的定义
在python中,每一个变量在使用前都必须赋值,变量赋值后,变量就创建成功了。
变量名 = 值
示例:
示例:
Scala 语法变量的hashCode对比
示例:
2. 两个变量值的交换
其它语言中可以借助于第三个变量来交换变量 a 和b 的值
python中可以直接交换,两个变量的值
1.6 基本数据类型分类
数字
-
- int 整型(1, 2, -1, -2)
- float 浮点型(34.678)
- bool 布尔型(True/False)
- complex 复数(4+3J, 不应用于常规编程,这种仅了解一下就好
字符串
-
- str 单引号,双引号和三引号内表示的内容为字符串 “hello world"
列表
-
- list 使用中括号表示 [1, 2, 3, 4]
元组
-
- tuple 使用小括号表示 (1, 2, 3, 4)
字典
-
- dict 使用大括号表示,存放key-value键值对 {"a":1, "b":2, "c":3}
集合
-
- set 也使用大括号表示,但与字典有所不同 {1, 2, 3, 4}
1.7 数据类型转换
示例:
age = 29
print(type(age))
name = "kangll"
print(type(name))
# str+int,字符串拼接报错;age=str(25),这一句就可以成功
print(name, "your " + str(age) + " age." )
1.8 Python是解释型的强类型动态语言
1.8.1 解释型
- 优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
- 缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
1.8.2 强类型
强制数据类型定义的语言,也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
1.8.2 动态语言
运行时才进行数据类型检查 即在变量赋值时,才确定变量的数据类型,不用事先给变量指定数据类型 。也就是说,在用动态类型的语言编程时,永远也不会给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如shell 也多少属于动态类型语言。
例如:
- Python是动态语言,是强类型定义语言(类型安全的语言);
- Shell是动态语言,是弱类型定义语言(类型不安全的语言);
- JAVA是静态语言,是强类型定义语言(类型安全的语言)。
总结:Python是一门解释型的强类型动态语言。
二、运算符
常用的基本跟 Java是一样的, Python语言支持以下类型的运算符:
2.1 算术运算符(常用)
算术运算符 | 描述 | 实例 |
+ | 加法 | 1+2=3 |
- | 减法 | 5-1=4 |
* | 乘法 | 3*5=15 |
/ | 除法 | 10/2=5 |
// | 整除 | 10//3=3 不能整除的只保留整数部分 |
** | 求幂 | 2**3=8 |
% | 取余(取模) | 10%3=1 得到除法的余数 |
2.2 赋值运算符(常用)
赋值运算符 | 描述 | 实例 |
= | 简单的赋值运算符,下面的全部为复合运算符 | c =a + b 将a + b的运算结果赋值给c |
+= | 加法赋值运算符 | a += b 等同于 a = a + b |
-= | 减法赋值运算符 | a -= b 等同于 a = a - b |
*= | 乘法赋值运算符 | a *= b 等同于 a = a * b |
/= | 除法赋值运算符 | a /= b 等同于 a = a / b |
//= | 整除赋值运算符 | a //= b 等同于 a = a // b |
**= | 求幂赋值运算符 | a ** = b 等同于 a = a ** b |
%= | 取余(取模)赋值运算符 | a %= b 等同于 a = a % b |
2.3 比较运算符(常用)
比较运算符 | 描述 | 实例 |
== | 等于(注意与=赋值运算符区分开),类似shell里的-eq | print(1==1) 返回True |
!= | 不等于,类似shell里的-ne | print(2!=1) 返回True |
<> | 不等于(同 != ) | print(2<>1) 返回True |
> | 大于, 类似shell里的-gt | print(2>1) 返回True |
< | 小于, 类似shell里的-lt | print(2<1) 返回False |
>= | 大于等于 类似shell里的-ge | print(2>=1) 返回True |
<= | 小于等于 类似shell里的-le | print(2<=1) 返回False |
2.4 逻辑运算符(常用)
逻辑运算符 | 逻辑表达式 | 描述 |
and | x and y | x与y都为True,则返回True;x与y任一个或两个都为False,则返回False |
or | x or y | x与y任一个条件为True,则返回True |
not | not x | x为True,返回False; x为False,返回True |
2.5 成员运算符(比较常用)
成员运算符 | 描述 |
in | x 在 y 序列中 , 如果 x 在 y 序列中返回 True; 反之,返回False |
not in | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True; 反之,返回False |
在SQL语句里也有in和not in运算符;如
2.6 身份运算符(拓展)
身份运算符 | 描述 | 实例 |
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y ,类似 id(a) != id(b)。如果不是同一个对象则返回结果 True,否则返回 False。 |
2.7 位运算符 (拓展)
位运算符 | 说明 |
& | 对应二进制位两个都为1,结果为1 |
| | 对应二进制位两个有一个1, 结果为1, 两个都为0才为0 |
^ | 对应二进制位两个不一样才为1,否则为0 |
>> | 去除二进制位最右边的位,正数上面补0, 负数上面补1 |
<< | 去除二进制位最左边的位,右边补0 |
~ | 二进制位,原为1的变成0, 原为0变成1 |
2.8 运算符的优先级
常用的运算符中: 算术 > 比较 > 逻辑 > 赋值
示例:
# 变量定义
a = 20
b = 30
# 判断
if a < b and a != 10:
print("hive")
a += b
print("a :" , a)
else:
print("hadoop")
# 运算
print(a + b)
print(a * b)
执行结果:
参考:
原文链接:python是解释型的强类型动态语言_淘小欣的博客-CSDN博客
感谢点赞和关注!