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)