您的位置:首页 > 编程语言 > Python开发

二、Python课程【初级篇】

2015-10-10 12:10 567 查看
(一)初识

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, name

import sys
sys.modules[__name__] = _const()


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

import const
const.value = 10
const.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 = ’’’H
Ell
O’’’


(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 '''
I
t's
a
pen '''

#转义字符
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 dress
It's a smart dress

I
t's
a
pen

I
am

I\n

I can tell
I can tell
I can tell
I can tell
I can tell
I can tell
I can tell
I can tell
I can tell
I can tell
I 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&b
d = a|b
e = a-b
f = 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 listb

listc = pickle.loads(listb)
print listc

group1=("wanmei","rensheng")
f1=file('pickle.py','wb')
pickle.dump(group1,f1,True)
f1.close()

f2 = file('pickle.py','rb')
t = pickle.load(f2)
print t
f2.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\or
2.优先级
3.表达式
①值、变量和运算符组成的整体
②>>> a = 7
>>> "My"
'My'
>>> a = 'OK'
>>> a
'OK'
>>> a = "OK"
>>> a
'OK'
>>> print 'OK'
OK
>>> print "OK"
OK
>>>


③表达式执行结果和print执行结果的差别(如上)

(四)控制流

1.Python的三种控制流

'''Python有三种控制流类型:顺序结构、分支结构、循环结构'''

#重复执行一遍程序(法一)
i = 0
print i
i += 1
print i

i = 0
print i
i += 1
print i

#循环控制流(法二)
for k in range(0,5):
i = 0
print i
i += 1
print i

a = 1
while a:
print "Hello"
a -= 1

#控制流的分支结构
xiaoming = "hungry"
if xiaoming == "full":
print "宝宝好乖"
else:
print "宝宝好皮"

分支结构-if语句
'''
if语句用判断选择执行的语句块
'''

a = 1
if a ==1:
print "hello"

a = 0
if a ==0:
print "Man"
else:
print "Woman"

score = 100
if score >= 90:
print "优秀"
elif score >= 60:
print "合格"
else:
print "还得努力"
'''
while语句:用来控制一段语句重复执行
'''

#死循环:(占用CPU)
a = True
while a:
print "ABC"

#while语句嵌套使用
a = 0
while a<2:
if a<=1:
print a
'''
1.range函数的使用
2.带嵌套的for语句
'''```


for语句的格式:

for i in 集合:

执行该部分

else:

执行该部分

for i in [1,3,5,6]:
print i

for i in range(1,5):
print i

for 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 =1
while 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 = 10
while a <= 12:
a += 1
for i in range(1,7):
print i
if i == 5:
break
if a==11:
Break

#continue语句:强制停止本次循环,直接跳到下一次循环
a = 3
while a<6:
a +=1
if a == 4:
continue
print a

for i in range(1,5):
if i==2:
continue
print i

for i in range(1,5):
print i
if i==2:
continue


”’

continue:只是结束本次循环,然后继续进入下一个循环

break:直接结束整个循环

”’

区别:

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

for i in range(1,4):
if i==2:
break
print 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 b
function(2,5)

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


输出:

5
5
2
3
6
7
3
3
9
8


3.全局变量与局部变量

差别在于:作用域

①局部变量

def func(a):
i = 1
print i

i=2
print i
func(2)


结果:

>>>
2
1
>>>


②全局变量

global声明全局变量的标识符


def func():
global i
i = 7
print i
i = 3
print i
func()

def func1():
global a
a = 9
func1()
#因为a是全局变量
print a


结果:

>>>
3
7
9
>>>


试想:

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


输出:

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


4.函数使用与返回值

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

def 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.pi
3.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其他使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: