windows 启动django服务-命令窗口进入到项目根目录下 :python manage.py runserver
1、所有数据类型都自带布尔值,布尔值为假的数据类型
包括( 空字符串,空列表,空字典,空集合)、数字(0)、None类型
2、Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被GC回收
3、每创建一个-5到256之间的整数,都是直接从这个池里直接拿走一个值
例如 >>> y=4
>>> id(y) 4297641184
>>> >>> x=3
>>> x+=1
>>> id(x)
4297641184
4、在pycharm中 但在pycharm中运行python程序,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化机制,至于范围到底多大,无需细究
5、Python中只能将字符串写入文本文件
6、在python中,变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量名为message_1,但不能写成1_message
7、变量名也不能包含空格,可以使用下划线来分割其中的单词。例如变量名greeting_message,如果写成greeting message会报错
8、Python的关键字不能用作变量名,就是python中用于特殊用途的单词最好不要用作变量名,容易出错
9、变量名最好简单而且具有描述性。例如name比n好,student_name比s_n好,name_length比length_of_persons_name好
10、慎用小写字母l和大写字母O,因为他们容易被人看成1和0。变量名中最好使用小写字母,用大写不会报错,尽量不要用大写
11、创建变量名和编写代码时,无需考虑英语中的拼写和语法规则
12、语法错误,在一串代码中,如果在代码中有单引号,那么前后必须用双引号,不然python无法识别,会报错
13、python中将带小数点的数字都称为浮点数
14、 就是tab键一样的功能,用于缩进。 就是换行。注意必须先换行才能缩进,所以 必须在前面, 在后面,不然缩进不触发
15、str()函数可以避免类型错误,将所有非字符串值表示为字符串
16、python中用#注释,注释的主要目的就是阐述这段代码需要做什么
17、str 字符串是属于不可变序列 所有的序列类型都支持迭代
18、在python中,列表与元组的区别是,列表中的元素可以修改,元组则是不可修改。列表使用[]表示,不同元素还是用逗号隔开,列表的大小和其中的元素,在从初始化后依然可以被修改
19、python3中提供了一个input() 函数,而python2中是raw_input(),两个版本的写法有点区别,作用都是可以让用户输入字符串
20、tuple()就是元组类型,是一种特殊的序列类型,用()表示,不同的元素之间使用逗号进行分割,元组是不可变的对象,元组比列表的操作速度快一些,元组可以包含数字和字符串,(1,2,3)括号内包括三个元素加上括号就是元组
21、每条if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测试,根据条件测试的值为True还是False来决定是否执行if语句中的代码,如果条件测试为True,Python就执行紧跟在if语句后面的代码,如果是False就忽略
22、==这个是相等运算符,和=的区别就是 = 是一个变量的值=**,==就是检查变量的值是否为True,是True就往下读代码,如果是False就停止
23、检查相同时严格区分大小写,两个大小写不同的值被视为不相等
24、如果要检查是否不相等,只要添加惊叹号!。惊叹号!表示不的意思
25、检查多个条件可使用and或者or。and的测试需要两个条件都通过,or只要一个条件通过即可成功
26、检查特定值是否包含在列表中可以用in,检查不包含在列表中用not in
27、if - not结构,not True为False,not False为True用来条件判断,当a = fales时,not a就是True就会触发后续的语句
28、if - elif - else 结构,用来多条件判断,当判断条件大于1条时,则在if后面跟elif加条件判断,最后是else相反的条件判断结尾。但是不要求必须有else代码块,可有可无
29、如果想执行一个代码块,可以用if - elif - else结构语句,如果要运行多个代码块,则必须使用一系列独立的if语句,如果用结构语句,则执行第一个代码后的代码全部不执行
30、if语句的判断条件可以用 > 大于、< 小于、== 等于、>= 大于等于、 <= 小于等于,来表示其关系 if语句-就是判断语句
31、在python中字典是一系列键-值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。字典用{}表示,列表用[]表示、元组用()表示并且不可修改
32、 循环语句有两种,一种while语句,一种for语句 当条件为正确的时候就一直执行代码,如果不正确就会停止
33、While循环语句,判断条件是否为True,如果是True则会一直执行,如果是False则会中断循环For循环语句,重复执行语句,for循环都会加,通过if给一个条件(for--if),当条件符合就会一直循环 for--if
34、break循环控制语句,有一个break语句就会跳出循环,语句执行就会停止
35、Contiune语句,就是跳出本次循环,语句不会停止,继续执行下一个循环
36、Pass语句,就是空语句,为了保持程序结构完整性,就是写代码但是什么都不需要执行
37、for循环用于重复的执行代码,要比while循环容易使用,不容易出错,但是没有while语句那么灵活
38、定义函数要用关键字def,然后定义函数名,函数名后面一定要跟(),并且要用冒号 :结尾
39、函数体()内可以添加变量
40、函数名后面缩进的代码称为函数体
41、”””文档字符串“””,这样的文本称为文档字符串的注释,用以描述
42、定义函数时,()内的变量称为形参,代码中函数名称()内的变量称为实参
43、函数定义中可能包含多个形参,函数调用中也能包含多个实参,向函数传递实参的时候可以用位置实参,但是必须要求实参的顺序和形参的顺序相同。也可以使用关键字实参,还可以使用列表和字典
44、、如果明确指出形参对应的实参,那么关键字实参的顺序无关紧要。
45、如果形参中有指定默认值,无需通过实参来指定已有默认值的形参,因为函数调用中只包含了一个实参,所以python依然将这个实参视为位置实参,因此必须将没有指定值的形参放在列表开头。
46、函数的输出必须要用return语句才能输出
47、列表也可以作为实参传递给形参
48、用切片法可创建列表的副本,向函数传递列表的副本而不会删除原始列表
49、使用function_name(list_name[:])可以将副本传递给函数,而不会修改原列表的内容
50、要传递任意数量的实参,只需要将形参名加一个*,形参名中的*表示让python创建一个名为XXX的空元组,并将收到的所有值都封装到这个元组中
51、python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中
52、要接受任意数量的关键字实参,只需要在形参名前面加两个**,形参名中的**表示让python创建名为XXX的空字典 ,并将收集到的有名称的键-值对都封装到这个字典中
53、impot语句允许允许当前运行的程序使用模块中的代码
54、如果使用import语句导入名为module_name.py的整个模块,就可以使用module_name.function_name语法来使用其中任意一个函数(模块名.功能名)
55、导入模块中的特定函数语法from module_name import function_name
56、从模块中导入任意数量的函数语法from module_name import function_0,function_1,function_2通过用逗号分隔函数名
57、要给函数指定别名,使用as即可,语法格式为from pizza import make_pizza as mp,这里就是将函数名make_pizza()重命名为mp(),每当需要调用make_pizza()时,都可简写成mp(),避免与程序可能包含的函数混淆
58、使用*号可以导入模块中的所有函数
59、许多可重用的代码块,可以具有名称的代码块,可以接受输入,可以提供输出。 函数的定义:关键字def(def专门用来定义函数的),格式def + 函数 ()
60、函数定义规则: 函数代码块以def关键词开头,后接函数名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性的使用文档字符串-用于存放函数说明。函数内容以冒号起始,并且缩进
61、在python中,首字母大写的名称就是类,类中的函数称为方法
62、_init_()是一个特殊的方法,这个方法的名称中前后各有下划线,这是一种约定,避免python默认方法与普通方法发生名称冲突
63、类和方法中的self,这个self是表示属性,所有在这个属性中的值都可在这个类的任何地方使用
64、要访问实例的属性,可使用句点表示法XXX.name,python先找到实例xxx,然后再查找与这个实例相关联的属性name
65、修改属性值有三种不同的方式
(1)直接修改属性的值:用句点表示法直接访问并设置属性值
(2)通过方法修改:添加方法然后让这个方法接收值
(3)通过方法对属性的值进行递增
66、子类的继承:编写类并未每次都是空白开始。编写类是特殊版本可使用继承。一个类继承另一个类时,自动获得另一个类的属性和方法,原有的类称为父类,而新类称为子类。子类 也可以定义自己的属性和方法
67、创建子类实例时,python首先需要完成的任务是给父类的所有属性赋值
68、super()是一个特殊的函数,帮助python将父类和子类关联起 来
69、父类也称为超类superclass,super因此而得名
70、python2.7中为帮助python将父类和子类关联起来,函数super()需要两个实参,子类名和对象self
71、将实例用作属性,定义新类没有任何继承,然后用方法init定义一个有默认值的形参,在子类中添加一个self.XXX的属性并且接受的值就是新类
72、导入单个类from module_name import class_name(module_name是文件名称,class_name是表示文件内类的名称,意思就是从文件内调用类)
访问格式:name = class_name()
73、导入这个模块from module_name import class_name
访问格式:name = module_name.class_name()分别调用文件内的类
74、从一个模块中导入多个类from module_name import class_name1,class_name2
访问格式name = class_name1() name = class_name2()
75、导入模块中的所有类from module_name import * (*号表示所有的类)
76、python的标准库:模块collections除python提供的内置数据类型(int、float、str、list、tuple、dict)外,collections模块还提供了其他数据类型,使用如下功能需先导入collections模块,模块有一下几个类:计数器(counter),有序字典(orderedDict),默认字典(defaultdict),可命名元组(namedtuple),双向队列(deque)
77、什么是对象:如eric = Admin(‘name’),计算方式是先计算右边,然后放入左边的变量中,将Admin的功能传递给eric,所以具有Admin功能的变量,就叫做Admin的对象,同时也可以称为一个有Admin功能的名字
78、模块random包含各种方式生成随机数的函数,其中的randint()函数就是一个可以返回一个位于指定范围的整数的函数
79、需要打开文件修改时,就要用到open()这个函数 格式:with open(‘pi_digits.txt’) as file_obiect: With是关键词意思就是在不再需要访问文件后将其关闭 as file_obiect:就是讲文件打开后放入这个变量中供输出
80、open()函数就是打开指定文件,python只在当前执行文件.py所在的目录中查找文件,如果需要打开的文件在当前目录的子目录中,可以在括号内指定文件夹名和文件名,称为即相对路径(‘text_filesfilename.txt’)
81、使用open()打开的文件不在.py执行文件相同的文件夹内或者在其他的盘符文件夹内,可以将文件在的计算机中的准确位置告诉python,称为绝对文件路径,由于绝对路径比相对路径更长,所以需要存储在一个变量中,再将变量传递给open()
82、由于反斜杠在python中视为转义标记,所以当读取路径是发生错误,可以在路径的’单引号’前加上r,r就是以原始字符串的方式指定路径
83、使用关键词with时,open()返回的文件对象只在with代码块内可用,如果要在with代码块外访问文件内容,可以将with代码块内将文件的各行存储在一个列表中
84、python读取文本文件时都解读为字符串,如果读取的是数字,就必须使用int()或者float()将其转换才能使用
85、函数writh()用来将字符串写入文件,如果要写入的文件不存在,python会自动创建文件
86、python只能将字符串写入文本文件,要将数值数据写入必须使用str()函数转换成字符串格式
87、函数write不会自动换行,添加多行内容时候必须在添加的内容后面加一个换行符
格式:file_name.write(“I love Python. ”)
88、通常python在运行代码块时,块中的代码引导致了错误,会输出一个错误提示,这个提示一般用户看不懂,所以我们使用try---except代码块来处理异常,能够有一个简单明了的提示
89、处理异常使用代码块try-execpt,使用了代码块即使出现异常程序也将继续运行
90、json()模块将数据存储到文件中,并在程序再次运行时加载该文件中的数据。Json数据格式非python专用,各语言之间通用
91、Json.dump()存储,json.load()读取
92、流程控制语句with open(filename,’w’) as f,with是关键词,这里的as就是将后面的f等同于前面open(filename,’w’)这个动作
93、如果两个变量名不同,变量的值相同,那么由于Python为了节省内存空间,相同的值不会再占用新的空间,都会指向一个相同的值所在的内存地址 但是仅限于短字符,长字符就没有优化机制,优化机制在-5~257的数字范围也有效,2个相同的变量名但是两个值不同,那么后面的值会覆盖前面的值
关于格式符
格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)