python文件的扩展名为.py ,但是python GUI程序的扩展名为.pyw
在python中,注释以#开始,作用范围为该行
IDLE提供了三个关键功能:输入python表达式与代码,并在python shell中直接查看结果;代码编辑器,提供了python特定的彩色语法高亮显示功能与对代码缩排的支持;调试器,可用于单步跟进代码,识别并纠正其中存在的bug。
python的8个关键要素:
#1:数据类型
python所能表示的整数大小只受限于机器内存,而非固定数量的字节数。
字符串可以使用双引号或单引号封装。
python使用方括号([])来存取字符串等序列中的某一项,并且适用于任意数据类型比如下面的例子
>>>"Hard Times"[5]
'T'
如果想要将一个数据项从某种类型转换为另一种类型,可以使用语法datatype(item)
#2:对象引用
在python中,“=”的作用是将对象引用与内存中的某对象进行绑定。如果对象引用已经存在,就简单的进行重绑定,以便引用“=”操作符右面的对象;如果对象引用尚未存在,就由“=”操作符创建对象引用。
对象引用的命名限制:不能与任何python关键字相同;以字符或下划线开头,其后跟随0个或多个非空格字符、下划线或数字。
python标识符大小写敏感。
#3:组合数据类型
元组与列表可以存储任意数量、任意类型的数据项。元组是固定的,列表是可变的。
元组与列表存储的是对象引用,而非对象本身。
对于元组、列表以及字符串等数据类型而言,长度的度量是有意义的。
对元组与列表的操作可以看笔记本的“列表,元组,字典”笔记,里面有详细记录。
#4:逻辑操作符
python提供了4中逻辑运算。
身份操作符:is操作符能够判断左右两边的对象引用是否指向同一个对象。
比较操作符:<,<=,==,!=,>=,>
成员操作符:操作符in测试成员关系
逻辑操作符:and、or、not
#5:控制流语句:
在python中,一块代码,也就是说一条或多条语句组成的序列,成为suite。关键字pass,实际上是一条空语句,不进行任何操作,可以用在需要suite但又不需要进行处理的地方。
if语句
while语句
for...in语句,语法格式如下:
for variable in iterable:
suite
异常也是一个对象,语法格式如下:
try:
try_suite
except exception1 as variable1:
exception_suite1
...
except exceptionN as variableN:
exception_suiteN
#6:算术操作符
有+、-、*、/、+=、*=
注意除法/,结果产生是浮点数。如果要产生一个整数值,可以用int()进行转换,或者使用剥离操作符//
增强型赋值操作符注意两点:1.int型是固定的,一旦赋值,不能改变,因此,对固定对象使用增强的赋值操作符时,实际上是创建一个对象来存储结果,之后目标对象引用重新绑定。 2. a operator= b 与 a = a operator b并不完全一致,前者只查询一次a的值。
列表+=操作符 右边的操作数必须是一个iterable。(iterable包括列表,字符串,数组等)
#7:输入/输出
input()
print()
#8:函数的创建与调用
语法格式:
def functionName(arguments):
suite
使用函数之前必须先定义
python模块实际上就是包含Python代码的.py文件,比如自定义函数与类(自定义数据类型)的定义,有时候还包括变量等。
#bigdigit.py
调用一个内置的sys模块,这个sys模块是内嵌在python之中,sys模块包含了与python解释器和它的环境有关的函数。
sys.argv函数可以传入参数,sys.argv[0]代表当前的模块。
#test.py
import sys
print(sys.argv[0])
print(sys.argv[1])
>>>python test.py 123
test.py
123
generate_grid.py
str = input(argv) 注意:argv为提示信息,不是输入的数;str才是输入的数
总结:
今天做了课后习题的第一题之后,发现python的for语句和c,java的for语句很不相同,相比之下,强大许多。for variable in iterable 结构,variable遍历iterable的值,不仅仅用于计数。
None
None是一个特殊的常量
None和False不同
None不是0
None不是空字符串
None和任何其他数据类型比较永远返回False
None有自己的数据类型NoneType
你可以将None复制给任何变量,但是你不能创建其他NoneType对象
>>> type(None)
<class 'NoneType'>
>>> None == 0
False
>>> None == ''
False
>>> None == None
True
>>> None == False
False
is 和 ==
is判断两个对象是否相等(id)
==判断两个值是否相等(value)