背景
略
python简介
略
基础有什么
环境部署
略
中文编码
1、python中默认的编码格式是ASCII格式
2、若程序中有中文,需在文件开头加入# -- coding: UTF-8 -- 或者 #coding=utf-8
3、python3.X源码文件默认使用utf-8编码,无需指定utf-8编码
基础语法
1、python编程方式
交互式编程:不需要创建脚本文件,通过python解释器的交互模式进行代码编写
脚本式编程:通过脚本参数调用解释器执行脚本,脚本执行完毕后,解释器就不再有效
2、标识符
编程语言的标识符大同小异
数字、字母、下划线
区分大小写
不能以数字开头
_test,以单下划线开头的标识符是不能直接访问的类属性,不能用from XXX import *导入,需要通过类提供的接口进行访问
__test,以双下划线开头的标识符代表类的私有成员、
__test__,以双下划线开头和结尾的标识符代表特殊方法专用的标识,比如__init__()标识类的构造函数
3、保留字符
保留字符可以理解为关键字,保留字符不能被当成常数或者变数,或者是其他任何标识符的名称

4、缩进
python对格式要求非常严格,因为python使用缩进来写模块,不像java需要用大括号{}来控制类、方法和其他的一些逻辑判断
缩进的空白数量可变,但是所有的**代码块语句的缩进空白数量必须保持相同**
5、其他
多行连接符 \
若语句中包括[]、{}或者()就不需要使用多行连接符进行换行
引号 ''、""、''' '''、""" """
其中三引号可以由多行组成,多行文本的快捷语法经常被用在文件的特定地点,被当做注释来使用
注释 #
#用做单行注释
三引号常用作多行注释
空行
空行用来分隔两段不同功能或含义的代码,便于代码维护或重构
一行显示多条语句 ;
如果想在同一行会用多条语句,需要在语句之间使用分号分隔
等待输入
下方语句执行后就会等待用户输入,按回车键后就会退出程序
raw_input("\n\nPress the enter key to exit.")
Print输出
使用Print进行输出,默认都是换行的,如果想要不换行输出,需要在变量末尾加上逗号
python -h
用来查看各参数帮助信息
变量类型
标准数据类型
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
涉及数据类型转换时,可以采用内置函数进行数据类型转码,只需要将数据类型作为函数名,将待转换内容作为参数输入即可
数字
数字数据类型用来存储数值,是不可变的数据类型
使用del语句删除对象的引用
python支持四种数字类型
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
python中使用L来表示长整型,避免使用l与数字1产生混淆
复数由实数部分和虚数部分构成,可表示为a+bj,或者complex(a,b),复数的实部a和虚部b都是浮点型
字符串
字符串由数字、字母和下划线组成的一串字符
一般有两种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
例:
s = "letusmaketest"
s1 = s[5]的结果是m
s2 = s[9]的结果是t
s3 = s[5:9]的结果是make
s4 = s[:9]的结果是letusmake
s5 = s[5:]的结果是maketest
上面的s3结果包含s[5]的值m,但是不包括s[9]的值t。
加号(+)是字符串连接运算符,比如s + 'test'
星号(*)是重复操作,比如s * 2表示s连续输出两次
列表
列表是Python中使用最频繁的数据类型
列表可以完成大多数集合类的数据结构实现,支持数字、字符、字符串甚至包含列表(嵌套)
列表中值的切割也可以使用 [头下标:尾下标]的方式,规则和字符串切割取值相同
加号和星号操作与字符串相同
列表可以二次赋值
元组
元组和列表类似
元组使用()标识,内部元素用逗号隔开
元组不能二次赋值,相当于只读列表
字典
字典是除列表之外Python中最灵活的内置数据结构类型
字典是无序的对象集合,列表是有序的对象集合
字典和列表的区别:字典中的元素是通过键来存取,而列表中的元素是通过偏移来存取
字典用"{}"标识,字典由索引(key)和它对应的值value组成
例:
testDic = {}
testDic['test1'] = 'This is test1'
testDic[2] = 'This is test2'
testDic2 = {'name': 'huangyl','age':25, 'sex': 'man'}
print testDic['test1'] #输出键为'test1'的值
print testDic[2] #输出键为2的值
print testDic2 #输出字典testDic2
print testDic2.keys() #输出字典testDic2的所有键
print testDic2.value() #输出字典testDic2的所有值
基本语句
大同小异,基本语句包括:
1、条件语句
2、循环语句
基本分类
1)for循环
2)while循环
3)嵌套循环
控制语句
1)break语句
2)continue语句
3)pass语句
条件语句
基本形式:
if 判断条件:
执行语句……
else:
执行语句……
显而易见,如果满足条件,就do A,如果不满足,就do B
以上需要注意的几点:
1、else是可选语句,当需要在条件不成立时执行内容则可以执行相关语句
2、Python不支持switch语句,多个条件判断,只能用elif来实现,即判断条件a后又继续对条件b做了判断
3、需同时判断多个条件时,可判断组合条件。当有多个条件时,判断优先级顺序为:括号>大于/小于>与/或/非
循环语句
Python中提供了for循环和while循环以及两种循环的组合形式嵌套循环
Python支持以下循环控制语句:
break语句:在语句块执行过程中终止循环,并且跳出整个循环
continue语句:在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
pass语句:pass是空语句,是为了保持程序结构的完整性
while
基本形式:
while 判断条件:
执行语句……
else
执行语句……
其中:
1、执行语句可以是单个语句也可以是语句块
2、判断条件可以是任何表达式,任何非零、或非空的值均为ture
3、若无else语句,当判断条件为false时,循环结束;若有else,当判断条件为false时,将执行else语句
4、如果判断条件永远为true,循环将会无限的执行下去
for
基本形式:
for iterating_var in sequence:
statements(s)
break
else:
执行语句……
其中:
1、Python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串
2、另外还有一种执行循环的遍历方式是通过索引进行遍历
3、若无else语句,for循环会在遍历完成后退出;若有else语句,else语句会在循环正常执行完成的情况下执行
循环嵌套
while循环嵌套基本形式:
while expression:
while expression:
statement(s)
statement(s)
for循环嵌套基本形式:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
其中:
1、while与for循环体可以互相嵌套
break
1、break语句用在while和for循环中,用来跳出整个循环
2、break语句用来打破最小封闭for或者while循环
3、使用break终止循环语句时,即便循环条件没有false或者序列没有完全递归完,也会停止执行循环语句
4、在嵌套循环中,break语句将停止执行最深层的循环,并开始执行下一行代码
continue
1、continue语句用在while和for循环中,用来跳出本次循环,跳过当前循环的剩余语句,继续进行下一轮循环
2、无
pass
1、pass是空语句,为了保持程序结构的完整性
2、pass不做任何事情,一般用作占位语句
什么是函数
什么是函数
1、什么是函数
1)函数是啥,函数就是函数。。。
2)函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
3)函数能提高应用的模块性,和代码的重复利用率
4)Python提供了很多內建函数,如len()、range()和print()等
5)用户自己创建的函数,叫做用户自定义函数
2、函数的语法格式
基本形式:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
其中:
1)函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
2)任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4)函数内容以冒号起始,并且缩进。
5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
函数调用
1、函数被定义后,指定了函数的名称、包含的参数以及代码块结构
2、调用函数时,写全函数名以及传入的参数
参数
数据类型与对象
1、万物皆对象
2、Python中,对象具有类型,而变量是没有类型的(变量可以理解为对象的引用或者指向对象存储区域的一个指针)
3、在python中创建参数时,会在内存中创建一块区域,存储该数据类型对象的值,同时会有一个指针(变量)来指向该内存区域
可更改与不可更改
1、数字(number)、字符串(string)、元组(tuples)是不可更改的对象,而数组(list)、字典(dict)是可以修改的对象
2、对于可变与不可变类型的解释:
不可变类型:
变量赋值a=5后再赋值a=10,这里实际是新生成一个 int值对象10,再让a指向它,而5被丢弃,不是改变a的值,相当于新生成了对象,再让a指向新的对象。
可变类型:
变量赋值la=[1,2,3,4]后再赋值la[2]=5,则是将list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
3、Python传参类似c++的值传递
不可变类型:传递整数、字符串、元组类型的对象。
例:fun(a),传递的只是a的值,没有影响a对象本身。如果在fun(a)内部修改a的值,只是修改另一个复制的对象,不会影响外部的a本身。
可变类型:传递列表、字典类型的对象
例:fun(la),则是将la真正的传过去,修改后fun外部的la也会受影响
4、python中一切都是对象,严格意义不能说值传递还是引用传递,应该说传不可变对象和传可变对象
Python中函数参数的传递是传递的变量的值。
不可变对象作为函数参数,相当于C系语言的值传递。
可变对象作为函数参数,相当于C系语言的引用传递。
调用函数使用的正式参数类型
必备参数:
关键字参数:
默认参数:
不定长参数