一、强类型语言与弱类型语言,解释型语言与编译型语言 1、强类型语言 强类型语言是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。例如:java、.NET、C++ 2、弱类型语言 某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。例如:vb 、PHP、javascript、Python 3、编译型语言 程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。例如: C 、C++、Objective-C、Pascal 4、解释型语言 程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。在运行程序的时候才翻译,专门有一个解释器去进行翻译,每个语句都是执行的时候才翻译。效率比较低,依赖解释器,跨平台性好。例如:Java、C#、PHP、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 二、Python注释 1、# 单行注释 例 # 你好 2、''' 或者""" 用于多行注释 例 ''' import os hello world ''' 或 """ import os hello world """ 三、Python代码规范 1、每个 import 语句一次只导入一个模块 import os import sys #正确 import os,sys #错误 2、不要在行尾添加分号 import os; #错误 import os #正确 3、每行建议不超过 80 个字符,如果超过,建议使用小括号将多行内容隐式的连接起来 s=("C语言中文网是中国领先的C语言程序设计专业网站," "提供C语言入门经典教程、C语言编译器、C语言函数手册等。") 4、在运算符两侧、函数参数之间以及逗号两侧,建议使用空格进行分隔 四、Python标识符 标识符就是一个名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。 1、标识符是由字符、下划线和数字组成,但第一个字符不能是数字。 2、标识符不能和 Python 中的保留字相同。 3、标识符中,不能包含空格、@、% 以及 $ 等特殊字符。 4、标识符中的字母是严格区分大小写的 5、以下划线开头的标识符有特殊含义,非特定场景需要,应避免使用以下划线开头的标识符 例如: 1)、以单下划线开头的标识符(如_width),表示不能直接访问的类属性,其 无法通过 from...import 的方式导入; 2)、以双下划线开头的标识符(如 __add)表示类的私有成员;

3)、以双下划线作为开头和结尾的标识符(如_init_),是专用标识符 五、Python保留字 保留字是 Python 语言中一些已经被赋予特定意义的单词,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。 六、Python内置函数 七、Python变量 1、变量无须声明即可直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。变量的数据类型可以动态改变:同一个变量可以一会儿被赋值为整数值,一会儿被赋值为字符串 2、变量类型:数值型、字符型、字节串(bytes)、布尔型 1)、数值型包括整数型、浮点型和复数型 a.整数型包括正整数、0 和负整数 整数型有4种表示方式 a1.十进制形式 a2.二进制形式以 0b 或 0B 开头。例如:0b101或0B101 对应十进制数是 5; a3.八进制形式以 0o 或 0O 开头 a4.十六进制形式:由 0~9 以及 A~F(或 a~f)组成,以 0x 或 0X 开头, b.浮点型 有两种表示方式 b1.十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512 b2.科学计数形式:例如 5.12e2或5.12E2(即 5.12×102) c.复数型 python可以支持复数,复数的虚部用 j 或 J 来表示 2)、字符型 a.字符串必须使用引号括起来,可以使用单引号或者双引号,要成对出现。字符串中的内容几乎可以包含任何字符,英文字符也行,中文字符也行 如果字符串内容本身包含了单引号或双引号,此时就需要进行特殊处理: a1.使用不同的引号将字符串括起来。 例如:a = "I'm a coder" a2.对引号进行转义,用“\”转义 例如:a = '"we are scared,Let's hide in the shade",says the bird' b.长字符串:字符串包含(可以有单引号和双引号)很多东西,在开始和结束处加三个英文单引号 例如:s = '''"Let's go fishing", said Mary. "OK, Let's go", said her brother. they walked to a lake''' c.原始字符串 当字符串中包含反斜线时,就需要使用转义字符 \ 对字符串中包含的每个 '' 进行转义 ;也可以用"r"开头加单引号 例如:s1 = r'G:\publish\codes\02\2.4' 3)、字节串(bytes) bytes 对象只负责以字节(二进制格式)序列来记录数据,至于这些数据到底表示什么内容,完全由程序决定。如果采用合适的字符集,字符串可以转换成字节串;反过来,字节串也可以恢复成对应的字符串。字节串和 字符串除操作的数据单元不同之外,它们支持的所有方法都基本相同,字节串也是不可变序列。 一个字符串转换成字节串对象,有如下三种方式: a.如果字符串内容都是 ASCII 字符,则可以通过直接在字符串之前添加 b来构建字节串值。例:d = b'hello' b.调用 bytes() 函数(其实是 bytes 的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集。例:d = bytes('我爱Python',encoding='utf-8') c.调用字符串本身的 encode() 方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 字符集。例:d = "学习Python很有趣".encode('utf-8') 4)、布尔型 即表示真假 真用True表示和假用 False 表示 ,True 相当于整数值 1,False 相当于整数值 0 例 5)、各种数据类型相互转换--使用各种转换函数 注意,在使用数据类型转换函数时,提供给它的数据必须是有意义的。例如,int(我们) 函数无法将一个非数字字符串转换成整数 八、常用函数 1、len()函数--获取字符串长度或字节数 语法格式:len(string) 1)、获取字符串长度 例:获取字符串“a”的长度 见下图 2)、获取字节数 使用 encode() 方法,查看字节数 ,默认是utf-8 例如: 2、input()函数--获取用户输入的字符串 input() 函数用于向用户生成一条提示,然后获取用户输入的内容。由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串。例如 3、print()函数--用于打印输出 1)、语法格式: print (value,...,sep='',end='\n',file=sys.stdout,flush=False) value--参数可以接受任意一个或多个变量或值 sep--用来间隔多个对象,默认值是一个空格,可改成“|”等等 end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串 file -- 指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,表示标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中 flush=False: 该参数主要是刷新, 默认False,不刷新,Ture时刷新 例: f = open("demo.txt","w") #打开文件以便写入 print('hello',end='\t',file=f) print('world',file=f) f.close() 2)、用print()函数--格式化输出字符串 例如: >>>user = "Charli" >>>age = 8 >>># 格式化字符串有两个占位符,第三部分提供2个变量 >>>print("%s is a %s years old boy" % (user , age)) 输出结果为 Charli is a 8 years old boy 其中%s分别调用user和age两个变量 3)、转义字符 九、python运算符 1、算术运算符 2、赋值运算符 3、位运算符 4、比较运算符 5、逻辑运算符 6、三目运算符 三目运算符的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。 语法格式:True_statements if expression else False_statements 例如: a = 5 b = 3 print("a大于b") if a > b else print("a不大于b") 7、各类运算符优先级

十、列表、元组、集合和字典 1、序列 1)、序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。 2)、序列类型包括字符串、列表、元组、集合和字典,集合和字典不支持索引、切片、相加和相乘操作。 3)、序列索引 序列中,每个元素都有属于自己的编号(索引)。 a.从起始元素开始,索引值从 0 开始递增,此类索引是从左向右计数 b.Python 还支持索引值是负数,此类索引是从右向左计数,从最后一个元素开始计数 4)、序列切片 切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列。 语法格式: sname[start : end : step] 参数的含义分别是: sname:表示序列的名称; start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片; end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度; step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素,也就是说,如果 step 的值大于 1,则在进行切片去序列元素时,会“跳跃式”的取元素。如果省略设置 step 的值,则最后一个冒号就可以省略。 例 a = "我爱你,中国" print(a[1:3]) #爱你 print(a[2]) #你 print(a[-2:]) #中国 print(a[::2]) #我你中 5)、序列相加 序列相加表示两种类型相同的序列使用“+”运算符做相加操作,它会将两个序列进行连接,但不会去除重复的元素。 例 a = '您好,' b = 'Tom!' print(a + b) 6)、序列相乘 数字 n 乘以一个序列会生成新的序列,其内容为原来序列被重复 n 次的结果。 例 a='你好' print(a*3) 7)、查看某个元素是否属于序列 可以使用 in 关键字检查某元素是否为序列的成员 语法格式为:value in sequence value 表示要检查的元素,sequence 表示指定的序列。 正确返回‘False’,错误返回‘True’ 例: a = "我爱你,中国" print('好' in a) print('我' in a) 8)、和序列相关的内置函数 2、列表(list) 1)、列表简介 列表可以存储整数、实数、字符串、列表、元组等任何类型的数据;列表中可以同时包含字符串、整数、列表、浮点数这些数据类型,通常不会把不同数据类型的放在同一列表中;列表会将所有元素都放在一对中括号 [] 中,相邻元素之间用逗号分隔,如[element1,element2,element3,...,elementn] 2)、列表新建 a1、 使用 “=” 运算符直接创建列表 语法格式:listname = [element1 , element2 , element3 , ... , elementn] a2、使用list()函数,可以将元组、区间(range)等对象转换为列表 例如: a_tuple = ('crazyit', 20, -1.2) a_list = list(a_tuple) print(a_list) b、访问列表 使用 print() 函数 例:print(a_list) print(a_list[1:3]) c、删除列表 列表不使用,可以使用 del 语句将其删除。 语法格式:del listname 3)、列表添加元素 a、append() 函数 append() 方法用于在列表的末尾追加元素; append() 方法传递列表或者元组,此方法也只会将其视为一个元素 语法格式:listname.append(o) listname 指的是要添加元素的列表;o 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等 例如 b、extend()函数 extend()方法用于在列表的末尾追加元素;可以一次添加多个元素 语法格式:listname.extend(o) listname 指的是要添加元素的列表;o表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等 例如 c、insert()函数 insert()插入元素到某个位置;和 append() 方法一样,无论插入的对象是列表还是元组,都只会将其整体视为一个元素。 语法格式:listname.insert(index , o) listname 指的是要添加元素的列表;index 参数指的是将元素插入到列表中指定位置处的索引前;o 表示要添加的元素 例如 4)、列表删除元素 a、根据索引值删除元素 语法格式:del a_list[索引值] del 关键字 a_list 列表名 例如 b、根据元素值删除元素 使用remove()函数 remove() 方法会删除第一个和指定值相同的元素,如果找不到该元素,该方法将会引发 ValueError 错误。 例如

c、删除列表所有元素

5)、列表修改元素 6)、 3、元祖(tuple) 4、字典(dict) 5、集合(set)