python编程基本语言_Python语言编程基础

Python

技能目标

理解编程基本原理和思想

掌握python语言的基础语法

能够使用python进行基本的开发工作

熟练使用项目开发IDE:eclipse,PyDev

能够使用Python开发简单入门的游戏和网页

第一节

概述

环境配置

python安装

python解释器

配置Windows环境变量

配置pip和easy install,D:\Python27\Scripts

Java环境变量配置

eclipse下载安装

在help中查找PyDev进行安装

在创建项目时需手动加入已安装好的python解释器:Interpreter

注意:python2.7默认编码格式是ASCII,3.0默认是utf-8

第二节

数据表示,即数据类型

概述

接入一个外接包

requests:用于提供很多,针对网页上的抓取,以及相关的函数

字符串

单引号

双引号

三引号

Format字符串

使用+号连接字符串

变量

命令规则:第一个字符必须是字母或下划线,其余字符可以是字母,数字,下划线,区分大小写

字面常量

常量不会被改变

比如5,6等等固定值

注释

#号键

numerics Type

int(包含boolean

float

complex

打印数据类型的方法type(变量名)

运算符//是向下去整

,sequences

,mappings

,classes

,instances

exceptions

第三节

数据结构

print打印拓展

打印中文字符串

# coding=utf-8

换行符:\n

List

创建list

不要求list中必须有相同元素

打印list

在打印时,需要将list类型转化为str

str(list名)

访问list

list名[]

元祖tuple

创建之后无法被更改,删除和修改都不行

将list中的方括号改为圆括号即可

list中可以使用的函数,tuple都可以使用

list和tuple的对比

tuple中可以包含list

mixed_tuple = (1,2,['a','b'])

Tuple是不可变的list

相同点

定义方式相同

元素都是按次序排列

索引都是从0开始

负数索引与list一样从tuple的尾部开始计数

不同点

tuple没有append或extend方法

tuple没有remove或pop方法

tuple可以一次赋多值

内置函数

len([1,2,3])

打印list长度

【‘Hello’】* 4

对一个list元素进行重组

list[-1]

代表从右边开始数第2位

list[1:]

代表从第二个元素开始的所有元素

3 install【1,2,3】

判断一个元素是否在list中

[1,2,3]+[4,5,6]

拼接

dictionnary

键值对

常用方法

创建

phone_book = {'Tom':123,'Jerry':456,'kim':789}

修改

phone_book["Tom"] = 888

新增

phone_book["Henry"] = 666

删除

del phone_book["kim"]

清空内容

phone_book.clear()

删除dictionnary

del phone_book

特性

一个键必须是唯一的

当有重复时不会报错,会依次取第一个出现的键

键是不变的

不能使用list充当键

字符串

数组

元组tuple

内置函数

比较两个字典元素

cmp(dict1,dict2)

计算字典元素个数,即键的总数

len(dict)

输出字典可打印的字符串表示

str(dict)

返回输入的变量类型,如果变量是字典就返回字典类型

type(variable)

内置方法

删除字典内所有元素

radiansdict.clear()

返回一个字典的浅复制

radiansdict.copy()

创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

radiansdict.fromkeys()

返回指定键的值,如果值不在字典中返回default值

radiansdict.get(key,default=None)

如果键在字典dict里返回true,否则返回false

radiansdict.has_key(key)

以列表返回可遍历的键值元组数组

radiansdict.items()

以列表返回一个字典所有键

radiansdict.keys()

和get()类似,但如果键没有存在于字典,并将添加键并将值设为default

radiansdict.setdefault(key,default=None)

把字典dict2的键/值对更新到dict里

radiansdict.update(dict2)

以列表返回字典中的所有值

radiansdict.values()

函数Function

def定义函数

def say_hi():

带参数的函数

设置参数的默认值

def repeat_str(str,times = 1):

参数的取值:形参和实参是一一对应的关系

*nums代表元组

**words代表数组

word = "python",another_word = "java"

return:返回函数值

全局变量

global

可以在函数内进行定义,定义后变量的值为之后改变的值

局部变量

第四节

Control Flow控制流

if for语句

for语句

for i in range(1,10):

rang指定一个整数范围,包括第一个值不包括最后一个值

遍历list,tuple,dictionnary

用户输入函数

input

while语句

当某个条件成立的时候会一直运行循环体,直到条件不成立

while guess_flag == False:

break

跳出当前循环,执行循环之后的代码

continue

忽略continue之后的代码,继续从循环头开始

pass

继续执行帕森斯之后的代码,可以理解为什么也不做

第五节

输入输出

接受用户的输入:input()

str_1 = input("Enter a string: ")

str_2 = input("Enter another string: ")

python2.7要求输入字符串格式的数据

输入格式:str(),format

print("str_1 is : " + str(str_1) + "str_2 is :" + str(str_2))

print("str_1 is {1} + str_2 is {0}".format(str_1,str_2))

写出文件

# 创建一个open实体对象,sentences.txt可以为绝对路径,‘w’表示写文件模式

f = open('C:\Users\Administrator\Desktop\sentences.txt','w')

f.write(some_sentences)

f.close()

读入文件

读文件read是默认的

f =open('C:\Users\Administrator\Desktop\sentences.txt')

while True:

line = f.readline()

if len(line) == 0:

break

print(line)

f.close()

第六节

异常处理

语法

try:

#运行别的代码

except :

#如果在try部份引发了'name'异常

except ,:

#如果引发了'name'异常,获得附加的数据

else:

#如果没有异常发生

语法错误(Syntax Errors)

while True:

try:

x = int(input("Please enter a number"))

break

except ValueError:

print("Not valid input,try again.......")

异常(Exceptions)

try:

f = open('myfile.txt')

s = f.readline()

i = int(s.strip())

except OSError as err:

print("OS error: {0}".format(err))

except ValueError:

print("Could not convert data to an integer.")

第七节

面向对象处理(Object-Oriented)

类(class)

现实世界中的一些事物的封装,如:学生

属性,如名字、成绩

引用

通过引用对类的属性和方法进行操作

实例化

创建一个类的具体事例对象,如学生张三

代码

class Student:

def __init__(self,name,grade):

self.name = name

self.grade = grade

def introduce(self):

print("hi! I'm "+ self.name)

print("My grade is : "+ str(self.grade))

def improve(self,amount):

self.grade = self.grade + amount

print("My grade add : "+ str(self.grade))

Henry = Student("Henry",99)

Henry.introduce()

Henry.improve(1)

设计代码思路

初始化参数

自我介绍

增加分数

创建对象

对象调用方法

装饰器(decorator)

代码设计思路

定义一个做蛋糕函数

定义一个加蜡烛函数

通过装饰器功能加蜡烛

输出加蜡烛后的结果

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用

@符号是装饰器的语法糖,在定义函数的时候使用,避免再一次赋值操作

代码

def add_candles(cake_func):

def insert_candles():

return cake_func() + "and candles"

return insert_candles

# 注意:return cake_func()加括号表示函数执行完成的结果;return insert_candles表示函数对象

@add_candles

def make_cake():

return "cakes 22"

print(6)

# @add_candles这句话相当于make_cake = add_candles(make_cake)

print(make_cake())

第八节

开发一个小游戏

GUI:Graphical User Interface

创建一个GUI程序

1、导入 Tkinter 模块

2、创建控件

3、指定这个控件的 master, 即这个控件属于哪一个

4、告诉 GM(geometry manager) 有一个控件产生了。

tkinter:GUI library for Python

Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .

代码

from Tkinter import * #导入库

import Tkinter #导入包

import tkMessageBox #导入包

top = Tkinter.Tk()

w = Label(top,text = "abc")

w.pack() # 将小部件放置到主窗口中

# tkMessageBox.showinfo("title", "message")

tkMessageBox.askyesnocancel("问答", "Enter a number")

top.mainloop()# 进入消息循环

第九节

制作一个简单网页

1. 安装python2.7

easy_install windows installer(python 2.7 32bit)

2. 安装lpthw.web

easy_install lpthw.web

3. 创建目录

4. 目录下创建app.py

代码

import web

urls = ('/','index')

app = web.application(urls,globals())

class index:

def GET(self):

greeting = "Hello!"

return greeting

if __name__ == "__main__":

app.run()

你可能感兴趣的:(python编程基本语言)