python第一课教案_Python第一课

一、模块的常用方法__name__    #主模块name值main

__file__    #文件所在的路径+文件名

__doc__    #文件级别的注释

二、函数参数

参数默认值

可变参数

返回值

'''def Foo():

print 'Foo'

def Foo(arg)

print arg

def Foo(arg='alex'):

print arg

#必须放在最后

def Foo(arg1,arg2):

print arg1,arg2

Foo(arg2='alex',arg1='kelly')

def Foo(arg,*args):

print arg,args

Foo('alex','kelly','tom')

def Foo(**kargs):

print kargs.keys()

print kargs.values()

Foo(k1='sb',k2='alex')'''View Code

三、yield

defAlexReadlines():

seek=0whileTrue:

with open('D:/temp.txt','r') as f:

f.seek(seek)

data=f.readline()ifdata:

seek=f.tell()yielddataelse:returnfor i inAlexReadlines():print iyield

四、三元运算和lambda表达式

result = 'gt' if 1>3 else 'lt'

print result

a = lambda x,y:x+y

print a(4,10)

五、内置函数

#print help()

print dir()

print vars()

#print type()

import temp

import temp

reload(temp)

id([12])

#is ------------------

cmp(2,3)

cmp(2,2)

cmp(2,1)

cmp(10,1)

abs()

bool()

divmod()

max()

min()

sum()

pow(2, 11)

------------------

len()

all()

any()

------------------

chr()

ord()

hex()

oct()

bin()

------------------

print range(10)

print xrange(10)

for i in xrange(10):

print i

for k,v in enumerate([1,2,3,4]):

print k,v

------------------

s= 'i am {0}'

print s.format('alex')

str(1)

------------------

def Function(arg):

print arg

print apply(Function,('aaaa')) #执行函数

print map(lambda x:x+1,[1,2,3]) #all

print filter(lambda x: x==1,[1,23,4]) #True序列

print reduce(lambda x,y:x+y,[1,2,3]) #累加

x = [1, 2, 3]

y = [4, 5, 6]

z = [4, 5, 6]

print zip(x, y,z)

------------------

#__import__()

#hasattr()

#delattr()

#getattr()

module = __import__('temp')

print dir(module)

val = hasattr(module, 'version')

print val

------------------

#callable()

#函数、类必须要有 __call__ 方法

#compile

#eval

com = compile('1+1','','eval')

print eval(com)

#exec语句

code = "for i in range(0, 10): print i"

cmpcode = compile(code, '', 'exec')

exec cmpcode

code = "print 1"

cmpcode = compile(code, '', 'single')

exec cmpcode

------------------

#isinstance()

#issubclass()

#super()

#staticmethod()

六、常用模块

1、random 用于生成随机数

import random

print random.random()

print random.randint(1,2)

print random.randrange(1,10)

应用场景:生成随机验证码

import random

checkcode = ''

for i in range(4):

current = random.randrange(0,4)

if current != i:

temp = chr(random.randint(65,90))

else:

temp = random.randint(0,9)

checkcode += str(temp)

print checkcode

2、md5 加密

import md5

hash = md5.new()

hash.update('admin')

print hash.hexdigest()

import hashlib

hash = hashlib.md5()

hash.update('admin')

print hash.hexdigest()

3、序列化和json

4、recompile

match search findall

group groups

正则表达式常用格式:

字符:\d \w \t  .

次数:* + ? {m} {m,n}

5、time

import time

#1、时间戳 1970年1月1日之后的秒

#3、元组 包含了:年、日、星期等... time.struct_time

#4、格式化的字符串 2014-11-11 11:11

print time.time()

print time.mktime(time.localtime())

print time.gmtime() #可加时间戳参数

print time.localtime() #可加时间戳参数

print time.strptime('2014-11-11', '%Y-%m-%d')

print time.strftime('%Y-%m-%d') #默认当前时间

print time.strftime('%Y-%m-%d',time.localtime()) #默认当前时间

print time.asctime()

print time.asctime(time.localtime())

print time.ctime(time.time())

import datetime

'''

datetime.date:表示日期的类。常用的属性有year, month, day

datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond

datetime.datetime:表示日期时间

datetime.timedelta:表示时间间隔,即两个时间点之间的长度

timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

strftime("%Y-%m-%d")

'''

import datetime

print datetime.datetime.now()

print datetime.datetime.now() - datetime.timedelta(days=5)

6、sys

sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.maxunicode 最大的Unicode值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write('please:')

val = sys.stdin.readline()[:-1]

print val

7、os

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd

os.curdir 返回当前目录: ('.')

os.pardir 获取当前目录的父目录字符串名:('..')

os.makedirs('dirname1/dirname2') 可生成多层递归目录

os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname

os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.remove() 删除一个文件

os.rename("oldname","newname") 重命名文件/目录

os.stat('path/filename') 获取文件/目录信息

os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

os.pathsep 输出用于分割文件路径的字符串

os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

os.system("bash command") 运行shell命令,直接显示

os.environ 获取系统环境变量

os.path.abspath(path) 返回path规范化的绝对路径

os.path.split(path) 将path分割成目录和文件名二元组返回

os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素

os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False

os.path.isabs(path) 如果path是绝对路径,返回True

os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False

os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False

os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间

os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

8、装饰器

'''

def foo():

print 'foo'

def foo():

print 'before do something'

print 'foo'

print 'after'

def foo():

print 'foo'

def wrapper(func):

print 'before'

func()

print 'after'

wrapper(foo)

def foo():

print 'foo'

def wrapper(func):

def result():

print 'before'

func()

print 'after'

return result

Do = wrapper(foo)

Do()

'''

def wrapper(func):

def result():

print 'before'

func()

print 'after'

return result

@wrapper

def foo():

print 'foo'

foo()

#!/usr/bin/env python

#coding:utf-8

def Before(request,kargs):

print 'before'

def After(request,kargs):

print 'after'

def Filter(before_func,after_func):

def outer(main_func):

def wrapper(request,kargs):

before_result = before_func(request,kargs)

if(before_result != None):

return before_result;

main_result = main_func(request,kargs)

if(main_result != None):

return main_result;

after_result = after_func(request,kargs)

if(after_result != None):

return after_result;

return wrapper

return outer

@Filter(Before, After)

def Index(request,kargs):

print 'index'

if __name__ == '__main__':

Index(1,2)

第五单元 进阶程序设计(总10课时) 1. 选择编程语言(1课时) 一、教学目标 1、了解程序设计语言和两种翻译方式; 2、了解Python背景、功能、安装,熟悉Python编程环境; 3、编程初体验。体验一个小程序从建立、输入、调试、运行、保存的全过程。掌握 Turtle模块的调用,并尝试修改Turtle图案属性。 二、重点难点 教学重点:熟悉 Python 编程环境;编程初体验 教学难点:编程初体验;程序的书写规范和调试窗口的使用。 三、教学过程 (一)认识Python语言 1、Python语言 Python在英文中的意思是"蟒蛇",这个语言的标识就是两只缠绕的蟒蛇。 Python语言的应用范围非常广泛。例如,它可以用在游戏开发中;电影中的3D渲染也 会用到Python语言;互联网中Python语言的声音更是无处不在,谷歌、豆瓣和知乎等网 站都是使用Python语言搭建。 Python语言是著名的Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Guido van Rossum从2005年开始就只于谷歌公司,在谷歌以及编程社区的大力支持下,Python也迎 来了大发展。 2、启动Python 3、Python开发环境 (二)编程初体验——我的第一个Python程序 chengxu1.py代码: import turtle #调用turtle模块 a1=turtle.Turtle() #窗口中显示一只海龟,并给他命名为"a1" 关于程序的书写: Python语言是区分大小写的,比如此处的Turtle()中的T要大写; Python语言中的字母和符号只能是半角英文符号; (三)实践与思考 1、把a1.shape("")语句添加在chengxu1.py程序的后面: 提示:请你每次在""中输入以下不同的内容:square、circle、arrow、turtle,然后, 保存并运行程序,观察每次的运行结果。 说一说,shape()的作用。 "语句 "显示结果 " "shape("turtle") " " "shape("arrow") " " "shape("circle") " " "shape("square") " " 2、把a1.color("")语句添加在chengxu1.py程序的后面: 提示:请你每次在""中输入以下不同的内容:red、green、blue,然后,保存并运行程 序,观察每次的运行结果。 试一试:除了red、green、blue,其他颜色能不能用? 说一说,color()的作用。 "语句 "显示结果 " "color("red") " " "color("green") " " "color("blue") " " 2. 选择编程语言(3课时) 第1课时 控制"海龟"移动 一、教学目标 1、学会用函数控制海龟运动; 2、掌握几个函数及参数的设置:forward()、speed()、write(); 3、了解程序的三种结构之一——顺序结构。 二、重点难点 教学重点:函数forward()、speed()、write() 教学难点:顺序结构编程及简单应用。 三、教学过程 (一)函数forward() 格式:forward(参数) 功能:向前移动(这里的"向前指的是箭头指示的方向") 例如:forward(100) ##向前移动100个像素 (二)函数speed() 格式:speed(参数) 功能:设定速度 例如:speed("slowest") ##以最慢的速度 "不同参数的speed() "功能 " "speed("slowest") "最慢 " "speed("slow") "慢速 " "speed("normal") "正常速度(系统默认值) " "speed("fast") "快速 " "speed("fastest") "最快 " (三)函数write() 格式:write(参数1,参数2) 功能:在屏幕上显示文字 例如:write("起步",font=("黑体",16)) ##屏幕上显示黑体16号的"起步"两个字。 (四)程序1——海龟的简单移动 import turtle a=turtle.Turtle() a.forward(100) 程序解释: forward(100)——海龟向前移动100个像素(这里的"向前指的是箭头指示的方向") (五)程序2——海龟的多样运动 (六)实践与思考 结合两节课学过的知识,修改程序2,使之实现如下功能: 提示: color()函数——设置颜色 write()函数——设置字体字号 第2课时 控制"海龟"移动 一、教学目标 1、了解常量、变量、表达式、赋值; 2、掌握变量的命名、表达式的组成; 3、掌握函数Shap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值