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网络编程基础(线程与进程、并行与并发、同步与异步、阻塞与非阻塞、CPU密集型与IO密集型)
python网络编程基础(线程与进程.并行与并发.同步与异步.阻塞与非阻塞.CPU密集型与IO密集型) 目录 线程与进程 并行与并发 同步与异步 阻塞与非阻塞 CPU密集型与IO密集型 线程与进程 进 ...
- Python 面向对象编程基础
Python 面向对象编程基础 虽然Pthon是解释性语言,但是Pthon可以进行面向对象开发,小到 脚本程序,大到3D游戏,Python都可以做到. 一类: 语法: class 类名: 类属性,方法 ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
- LINUX下C语言编程基础
实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...
- 9 本免费的 Python 语言编程书籍(转载)
9 本免费的 Python 语言编程书籍 原文地址:http://linuxtoy.org/archives/9-free-python-books.html 2010-03-03 Toy Poste ...
- Python网络编程基础pdf
Python网络编程基础(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VGwGtMSZbE0bSZe-MBl6qA 提取码:mert 复制这段内容后打开百度网盘手 ...
- 【转】Linux基础与Linux下C语言编程基础
原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...
- 好书推荐---Python网络编程基础
Python网络编程基础详细的介绍了网络编程的相关知识,结合python,看起来觉得很顺畅!!!
- Python网络编程基础|百度网盘免费下载|零基础入门学习资料
百度网盘免费下载:Python网络编程基础|零基础学习资料 提取码:k7a1 目录: 第1部分 底层网络 第1章 客户/服务器网络介绍 第2章 网络客户端 第3章 网络服务器 第4章 域名系统 第5章 ...
随机推荐
- git -remote: Support for password authentication was removed on August 13, 2021
克隆代码时,报错: Support for password authentication was removed on August 13, 2021. Please use a personal ...
- CentOS 7 使用unzip解压zip文件提示未找到命令的解决方法
故障现象: 解决方法: 如果你使用unzip命令解压.zip文件,提示未找到命令,可能是你没有安装unzip软件,下面是安装方法 [root@localhost www]# yum install - ...
- spring boot + thymeleaf +security自定义规则 的简单使用
1.前言 以前开发一直使用 springMVC模式开发 ,前端页面常使用 JSP ,现在html5淘汰了 ,要么使用html ,要么使用vue , 现在使用spring boot ,有必要总结一下 ...
- react子组件向父组件传值
子组件向父组件传值,注意父组件传递函数的时候必须绑定this到当前父组件(handleEmail={this.handleEmail.bind(this)}),不然会报错 /***实现在输入框输入邮箱 ...
- Go语言系列之性能调优
在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况. Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库,这篇文章 ...
- FIS 使用
从淘宝npm镜像安装fis $ npm install -g fis --registry=https://registry.npm.taobao.org 安装less插件 $ npm install ...
- HDU 1312 Red and Black (DFS & BFS)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 题目大意:有一间矩形房屋,地上铺了红.黑两种颜色的方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相 ...
- Go - 如何编写 ProtoBuf 插件 (三) ?
目录 前言 演示代码 小结 推荐阅读 前言 上篇文章<Go - 如何编写 ProtoBuf 插件 (二) >,分享了基于 自定义选项 定义了 interceptor 插件,然后在 hell ...
- k8s-pv-pvc
1. 简介 持久卷(PersistentVolume,PV)是集群中的一块存储,可以由管理员事先供应,或者 使用存储类(Storage Class)来动态供应. 持久卷是集群资源,就像节点也是集群资源 ...
- js整体
1.引入 <script type="text/javascript"> 2.输出 使用 window.alert() 写入警告框 使用 document.write ...