参考:弱类型、强类型、动态类型、静态类型语言的区别是什么? 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("安晓") #安晓是一个字符串

基础学习笔记:1 核心特征及基本语法_强类型

下划线含义

  • 单前导下划线 _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是空字符串')

基础学习笔记:1 核心特征及基本语法_强类型_02

  • 同一个级别代码块的缩进量必须一样

特殊关键字

  • 不能使用和关键字相同的 标识符、函数名、类名、属性名、方法名。
  • 可以通过keyword模块来查看具体关键字
import keyword   #导入模块
print(keyword.kwlist)   #输出kwlist列表

基础学习笔记:1 核心特征及基本语法_下划线_03

特殊运算符

python运算符包括:算术运算符、比较运算符、逻辑运算符、赋值运算符以及位运算符。