二、Python课程【初级篇】

来源:互联网 发布:sqlserver count 编辑:程序博客网 时间:2024/04/29 08:37

(一)初识
1.Python三大优点:简单、功能强大、支持面向对象
2.Python的一些特点:
·大小严格区分
·简单、易学、支持面向对象
·开源
·库非常丰富
·标准库:正则表达式标准库
·非标准库:wxpython库
·跨平台使用
·解释性语言(解释器—字符码:直接运行)
·高级语言

(二)语法基础
1.常量与变量
(1)常量:一旦绑定,就不能更改
(2)

class _const(object):    class ConstError(TypeError):pass    def __setattr__(self, name, value):        if self.__dict__.has_key(name):            raise self.ConstError, "Can't rebinf const(%s)" % name        self.__dict__[name] = value    def __delattr__(self, name):        if name in self.__dict__:            raise self.ConstError, "Can't unbind const(%s)" % name        raise NameError, nameimport syssys.modules[__name__] = _const()

上面是定义常量,需将上面内容以const作为文件名保存在python27的lib目录下

import constconst.value = 10const.value =100(对常量赋值,导致下面的error)print const.value

ConstError: Can’t rebinf const(value)
(3)变量
2.数与字符串
(1)数的类型(5种)
·int
·long 888888l
·float
·bool 只有True、False
·complex
(2)什么是字符串
·如:’hello’、”my python”、”2+3”
(3)引号的使用与区别
·单引号

a = ‘It\’s’b = “It’s”

·双引号
·三引号(换行、保持原格式)

c = ’’’HEllO’’’

(4)转义字符
(5)自然字符串(r””:是保持转义字符)

print  r”Hell\no

输出:Hell\no
(6)字符串的重复

   Print “Hello”*20

(7)子字符串
·索引运算符从0开始索引
·切片运算符[a:b]是指从第a下标开始到第b-1下标(首位为0)
C = “jikexueyuan”
C1 = c[0]
C2 = c[1:3]
【例子】:

#coding=utf-8#单引号print 'It\'s a smart dress'#双引号print "It's a smart dress"#三引号print '''It'sapen '''#转义字符print "\nI\nam\n"#自然字符串print r"I\n"#字符串的重复print '\nI can tell'*10#子字符串a = "I' can do it well"b = a[0]c = a[:2]d = a[2:]print b,c,d

【结果】

It's a smart dressIt's a smart dressIt'sapen IamI\nI can tellI can tellI can tellI can tellI can tellI can tellI can tellI can tellI can tellI can tellI I'  can do it well

3.数据类型(Python中没有数组的概念)
(1)基本数据类型
·数
·字符串
(2)列表(列表中的元素是有序的)
(3)元组
区分列表和元组:
①列表里面买的元素的值可以修改,元组里面元素的值不能修改,只能读取
②列表:[], 元组:()
③a = [“”,””],b ={“”,””}
例子:

#coding=utf-8(IDE下默认为#_*_coding:cp936_*_,添加这一行会导致乱码)a=["林林","标标"]print a[0]b=("小小","鱼鱼")a[0]="小小"print a[0],b[1]结果:>>> 鏋楁灄灏忓皬 楸奸奔a=["林林","标标"]print a[0]b=("小小","鱼鱼")a[0]="小小"print a[0],b[1]结果:林林小小 鱼鱼

(4)集合
①两个功能:建立关系、消除重复元素
②格式:set(元素)
·交集(a&b)
·并集(a|b)
·差集(a-b)
·去除重复的元素(set(a))
例子:

a = set("aaaabbbcdmnop")b = set("abcd")c = a&bd = a|be = a-bf = set(a)print c,d,e,f

(5)字典(也叫关联数组)
·格式:zidian={‘name’:’weiwei’,’home’:’guilin’}
·输出某一项:print k[“name”],也可以通过这种方法添加字典里面的项目
例子:

z={"name":"戴安娜","home":"上海"}print z["name"]z["interest"]="音乐"print z["interest"]

4.标识符
(1)什么是标识符(变量与常量的名称)
(2)标识符命名原则
·首字符:字母或下划线
·字母、下划线、数字
(3)关键字(保留字:28种)
And、elif、global、or、else、pass、break、continue、import、class、return、for、while
5.对象
·对象
·pickle腌制

#pickle腌制import pickle#dumps(onject)将对象序列化#loads(string)将对象原样恢复,并且对象类型也恢复为原来的格式#dump(object,file)将对象存储到文件里面序列化#load(object,file)将存储在文件里面的数据恢复lista=["mingyue","yueliang"]listb=pickle.dumps(lista)print listblistc = pickle.loads(listb)print listcgroup1=("wanmei","rensheng")f1=file('pickle.py','wb')pickle.dump(group1,f1,True)f1.close()f2 = file('pickle.py','rb')t = pickle.load(f2)print tf2.close()

6.行与缩进
(1)了解逻辑行与物理行
·意义上的行数
·实际看到的行数
例子:

#以下是2个物理行print "abc"print "123"#以下是1个物理行,2个逻辑行print "abc";print"123"#以下是1个逻辑行,2个物理行print '''12345'''2)行中分号的使用(3)行连接#行连接print "学习\python"

(4)什么是缩进(2种:tab格、空格)
(5)如何缩进(while、for)
(6)注释(#)

(三)运算符(优先级)及表达式
1.运算符
·+:字符串连接
·not\and\or
2.优先级
3.表达式
①值、变量和运算符组成的整体

1.运算符·+:字符串连接·not\and\or2.优先级3.表达式①值、变量和运算符组成的整体②>>> a = 7>>> "My"'My'>>> a = 'OK'>>> a'OK'>>> a = "OK">>> a'OK'>>> print 'OK'OK>>> print "OK"OK>>> 

③表达式执行结果和print执行结果的差别(如上)
(四)控制流
1.Python的三种控制流

'''Python有三种控制流类型:顺序结构、分支结构、循环结构'''#重复执行一遍程序(法一)i = 0print ii += 1print ii = 0print ii += 1print i#循环控制流(法二)for k in range(0,5):    i = 0    print i    i += 1    print ia = 1while a:    print "Hello"    a -= 1#控制流的分支结构xiaoming = "hungry"if xiaoming == "full":    print "宝宝好乖"else:    print "宝宝好皮"分支结构-if语句'''if语句用判断选择执行的语句块'''a = 1if a ==1:    print "hello"a = 0if a ==0:    print "Man"else:    print "Woman"score = 100if score >= 90:    print "优秀"elif score >= 60:    print "合格"else:print "还得努力"'''while语句:用来控制一段语句重复执行'''#死循环:(占用CPU)a = Truewhile a:    print "ABC"#while语句嵌套使用a = 0while a<2:    if a<=1:        print a '''1.range函数的使用2.带嵌套的for语句'''```

for语句的格式:
for i in 集合:
执行该部分
else:
执行该部分

for i in [1,3,5,6]:    print ifor i in range(1,5):    print ifor i in range(0,3):    if i%2==0:        print i    else:        print "奇数"

a = range(0,5)
print a
”’步长:2”’
b = range(0,10,2)
print b

Break语句:
”’
break语句是强制停止循环的意思
”’

#break语句在while循环中a =1while a:    print a    a += 1    if a == 10:        break#break语句在for循环中for i in range(5,9):    print i    if i>8:        Break#break语句在双层循环语句a = 10while a <= 12:    a += 1    for i in range(1,7):        print i        if i == 5:            break    if a==11:        Break#continue语句:强制停止本次循环,直接跳到下一次循环a = 3while a<6:    a +=1    if a == 4:        continue    print afor i in range(1,5):    if i==2:        continue    print ifor i in range(1,5):    print i    if i==2:        continue

”’
continue:只是结束本次循环,然后继续进入下一个循环
break:直接结束整个循环
”’
区别:

for i in range(1,4):    if i ==2:        continue    print ifor i in range(1,4):    if i==2:        breakprint i

结果:
1
3
1

(五)Python函数
1.函数(function)
①系统自带
②自定义

#系统自带#字符串长度a = "flagisTrue"print len(a)#字符串的切割a = "flag"b = a.split("a")print b#自定义def a():    print "hello"a()#python中函数定义的两个含义:①申明指定的部分是函数不是对象②定义函数所包含的功能'''函数定义的格式:def 函数名():    函数内容'''

2.形参与实参

def function(a,b):    if a>b:        print a    else:        print bfunction(2,5)#关键参数def function(a=1,b=2,c=3):    print a    print b    print cfunction(5)function(b=7,a=6)function(3,c=8,b=9)

输出:

5523673398

3.全局变量与局部变量
差别在于:作用域
①局部变量

def func(a):    i = 1    print ii=2print ifunc(2)

结果:

>>> 21>>> 

②全局变量

global声明全局变量的标识符
def func():    global i    i = 7    print ii = 3print ifunc()def func1():    global a    a = 9func1()#因为a是全局变量print a

结果:

>>> 379>>> 

试想:

def func1():    global a    a = 9print a

输出:

Traceback (most recent call last):  File "C:/Users/linmeini_love/Desktop/123.py", line 4, in <module>    print aNameError: global name 'a' is not defined

4.函数使用与返回值

#返回值#一个返回值def test():    i = 7    return iprint test()#多个返回值def test1(i,j):    k=i*j    return (i,j,k)x=test1(2,5)print xdef test1(i,j):    k=i*j    return (i,j,k)m,n,o=test1(2,5)print o

输出:

>>> 7(2, 5, 10)10>>> 

5.文档字符串
作用:用于查看所对应文档的功能
(下面是某个文档)

#文档字符串def d(i,j):    '''实现乘法运算的函数    函数会返回乘法运算结果'''    k = i*j    return k

那怎么知道该文档的功能呢?

print d.__doc__

输出:

实现乘法运算的函数    函数会返回乘法运算结果

help(d)
Help on function d in module __main__:d(i, j)    实现乘法运算的函数    函数会返回乘法运算结果

(六)函数进阶–模块
1.函数是一段程序,模块是一个程序块

'''在使用模块之前,必须先导入指定的模块,才能使用自带模块:标准库模块①标准库中与系统功能有关的模块叫sys模块    ·版本:version    ·地址:executable    ·返回windows操作系统:getwindowsversion()    ·查看倒入模块列表:modules.keys()   '''
>>> import math>>> math.pi3.141592653589793>>> 
>>> import sys>>> sys.version'2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)]'
>>> sys.executable'C:\\Python27\\pythonw.exe'
>>> sys.getwindowsversion()sys.getwindowsversion(major=6, minor=1, build=7600, platform=2, service_pack=‘’
>>> sys.modules.keys()

”’
2.字节编译

'''1..pyc文件:以.pyc为后缀名的一类文件2.在执行Python模块时有两种执行方式:①模块内容--字节编译-->二进制语言(产生对应的.pyc文件:二进制文件)--->执行②直接执行对应模块的二进制语言那为什么我们之前说Python是解释型语言,而不是编译型语言,现在又说它有字节编译?如下:Python虽然出现了编译这个过程,但是该过程在解释其中发生的。编译形语言是说在软件中就有一个独立的编译模板去将程序编译3..pyc文件产生的方式:(2种)①本来没有,直接执行.py为后缀的某个模块,就会生成对应的.pyc文件②打开Python编辑器  cmd->4.在Python中,.pyc文件最大的作用是加快了模块的运行速度,.pyc文件还可以做反编译等高级功能5.二进制软件阅读器(Binary Viewer)'''

(七)Python数据结构
1.数据结构

#对三个物品:apple、orange、pear'''按顺序存储'''#存储一(列表):可以取出["apple","orange","pear"]#存储二(元组):不可以取出,也不可以更改("apple","orange","pear")#存储三(字典):值存储到某一有名字的键{"sam":"apple","Jac":"orange","mating":"pear"}'''数据结构:数据的组织方式,数据的存储方式,数据结构是静态的算法:运算方法,思维,动态的数据结构是算法的基础,但是相同的数据结构运用不同的算法拥有不同的效率'''

2.棧
3.队列
(八)面向对象
(九)文件与Python异常处理
(十)标准库与Python其他使用

0 0
原创粉丝点击