参考:弱类型、强类型、动态类型、静态类型语言的区别是什么? https://www.zhihu.com/question/19918532/answer/21647195
1 动态、强类型语言
基本概念
静态语言(强类型语言):使用变量前声明数据类型,如:C++、Java、Delphi、C#等。
动态语言(弱类型语言):使用变量前不需声明类型, 如:Php、Ruby、Python、Perl、SQL、JavaScript、Unix Shell等。
强类型定义语言:强制数据类型定义。
弱类型定义语言:数据类型可被忽略。
两者区别
强类型语言是一旦变量的类型被确定,就不能转化。 弱类型语言则反之,一个变量的类型是由其应用上下文确定。
2 四大基本语法
命名规则
变量命名规则
- 蛇形命名法:英文、数字以及下划线,不能以数字开头,可用中文作为变量名(不建议)
- 驼峰命名法: Java典型的命名法
- 名称区分大小写
安晓=1
print(安晓) #输出1,此时安晓是一个变量
print("安晓") #安晓是一个字符串
下划线含义
- 单前导下划线 _var:以单个下划线开头的变量或方法仅供内部使用
- 末尾下划线 var_:避免与Python关键字产生命名冲突
- 前导下划线 __var:双下划线前缀会导致Python解释器重写属性名称,以避免子类中的命名冲突。
- 名称修饰(name mangling) - 解释器更改变量的名称(例如:class名为Test, 变量名为__a,那么__a会被Python解释器重写属性名为_Test__a),以便在类被扩展的时候不容易产生冲突。名称修饰会影响在一个类的上下文中,以两个下划线字符("dunders")开头的所有名称。
- 双前导和双末尾下划线 __var__:名字同时以双下划线开始和结束,则不会应用名称修饰。由双下划线前缀和后缀包围的变量不会被Python解释器修改。
- 单下划线 _:表示某变量是临时或无关紧要
缩进原则
- 采用“{}”分隔代码块:如 Java、C
- 采用代码缩进和冒号": "分隔代码块:如:Python,行尾冒号和下一行缩进
m = ""
if m :
print('m不是空字符串')
else:
print('m是空字符串')
- 同一个级别代码块的缩进量必须一样
特殊关键字
- 不能使用和关键字相同的 标识符、函数名、类名、属性名、方法名。
- 可以通过keyword模块来查看具体关键字:
import keyword #导入模块
print(keyword.kwlist) #输出kwlist列表
特殊运算符
python运算符包括:算术运算符、比较运算符、逻辑运算符、赋值运算符以及位运算符。