1.关键字
其中False、None和True首字母大写
2.常量和变量
(1)在Python中声明变量时不需要指定它的数据类型,只要是给一个标识符赋值就声明了变量。你赋给它什么数值,它就是该类型变量了。
a="I am genius"
b=0.1
c=250
c=Tue
注:如上,虽然c已经保存了整数类型250,但它也可以接收其他类型数据,Python是动态类型语言,它不会检查数据类型,在变量声明是不需要指定数据类型。这一点与Swift和Kotlin语言不同,Swift和Kotlin虽然在声明变量时也可以不指定数据类型,但是他们的编译器会自动推导出该变量的数据类型,一旦该变量确定了数据类型,就不能再接收其他类型数据了,这一点与Python不同。
(2)Python不能从语法层面上定义常量,Python没有提供一个关键字使得变量不能被修改。所以在Python中只能将变量当成常量使用,只是不要修改它。
注:Python中变量是以引用形式存在,与指针类似,与c/c++不同,而且对变量重新赋不同类型值,会重新分配内存
变量赋值细节描述这一篇写的还可以https://blog.csdn.net/xiaojiajia007/article/details/54378754
注:Python作为解释性动态语言,代码安全很多情况下需要程序员自查
3.注释
Python程序单行注释使用井号(#),使用时#位于注释行的开头,接着是注释内容。
python 中多行注释使用三个单引号(”’)或三个双引号(“”“)。
#!/usr/bin/python
# coding=utf-8
a=1 # a赋值为1
b=2 # b赋值为1
c=a+b # a与b相加
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""
注:此处与c/c++略有不同,使用#,注释# coding=utf-8 注释作用很特殊是设置Python代码文件的编码集,该注释语句必须放在文件的第一行或第二行才能有效。#!/usr/bin/python注释是在UNIX、Liunx和macOS等平台上安装多个Python版本时,具体指定哪个版本的Python解释器
4.语句
Python代码是由关键字、标识符、表达式和语句等内容构成,语句是代码的重要组成部分。语句关注的代码执行过程,如if、for和while等。在Python语言中,一行代码表示一条语句,语句结束可以加分号,也可以省略分号。
a=2;#一般不写分号
b=3
c=5;d=6#虽然无误,但不推荐这样写,一般分两行写,
print(a+b)
在if、for和while有代码块的语句中,代码块不是通过大括号来界定的,而是通过缩进,缩进在一个级别的代码是在相同的代码块中
a=5;
if a>3
print(a)
else
print(10*a)
pint("end")
注:一个缩进级别一般是一个制表符(Tab)或4个空格,考虑到不同的编辑器制表符显示的宽度不同,大部分编程语言规范推荐使用4个空格
5.模块
Python中一个模块就是一个文件,模块是保存代码的最小单位,模块中可以声明变量、常量、函数、属性和类等Python程序元素。一个模块提供可以访问另外一个模块中的程序元素。
# module1.py
A=2
B=3
print("module1")``
# module2.py
import module1 #导入模块所有代码元素,访问时需要加“模块名.”
from module1 import A;
#从模块中导入一个指定的部分到当前命名空间中。
#导入特定代码,访问时不需加“模块名.”--using namespace ..
#与include类似,不同的是python代码碎片随处运行,
# c/c++只是包含过来变量与函数
# 另外python模块又有命名空间的意味
print(A)
print(a.B)
输出
进入module a
2
3
[Finished in 0.3s]
注:示例中使用了两次import语句,但只执行一次模块内容。
注:模块事实上提供一种命名空间(namespace)。同一个模块内部不能有相同名字的代码元素,但是不同模块可以,上述示例中的y命名的变量就是在两个模块中都有。
6.包
如果两个相同名字的模块,任何防止命名冲突呢?那就是使用(package),很多语言都提供了包,例如Java、Kotlin等,他们的作用都是一样的提供一种命名空间。
# com/pkg1/module.py
A=2
B=3
print("com.pkg1.module")``
# com/pkg2/module.py
import com.pkg1.moudle as moudle1
#与当前模块名冲突,因此需要as module1语句为com.pkg1.moudle模块
#提供一个别名module1,访问时需要使用module1.前缀。
from com.pkg1.moudle import A
#也可以给A取别名,防止发生命名冲突
#也就是说要导入的z名字的变量在当前模块总已经存在了
# from com.pkg1.moudle import A as x
# print(x)
print(A)
print(moudle1 .B)