简洁的十分钟Python入门教程


Posted in Python onApril 03, 2015

【简介】

Python是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。

【特点】

1 Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。

2 Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素。

3 Python代码块使用空格或制表符缩进的方式分隔代码。

4 Python仅有31个保留字,而且没有分号、begin、end等标记。

5 Python是强类型语言,变量创建后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。

【搭建开发环境】

1 可以到www.python.org下载安装包,然后通过configure、make、make install进行安装。

2 也可以到www.activestate.com去下载ActivePython组件包。(ActivePython是对Python核心和常用模块的二进制包装,它是ActiveState公司发布的Python开发环境。ActivePython使得Python的安装更加容易,并且可以应用在各种操作系统上。ActivePython包含了一些常用的Python扩展,以及Windows环境的编程接口)。对ActivePython来说,如果你是windows用户,下载msi包安装即可;如果你是Unix用户,下载tar.gz包直接解压即可。

3 Python的IDE,包括PythonWin、Eclipse+PyDev插件、Komodo、EditPlus

【版本】

python2与python3是目前主要的两个版本。

如下两种情况下,建议使用python2:

1 你无法完全控制你即将部署的环境时;

2 你需要使用一些特定的第三方包或扩展时;

python3是官方推荐的且是未来全力支持的版本,目前很多功能提升仅在python3版本上进行。

【hello world】

1 创建hello.py

2 编写程序:
 

if __name__ == \'__main__\':
  print "hello word"

3 运行程序:
 

python ./hello.py

【注释】

1 无论是行注释还是段注释,均以#加一个空格来注释。

2 如果需要在代码中使用中文注释,必须在python文件的最前面加上如下注释说明:
 

# -* - coding: UTF-8 -* -

3 如下注释用于指定解释器
 

#! /usr/bin/python

【文件类型】

1 Python的文件类型分为3种,即源代码、字节代码和优化代码。这些都可以直接运行,不需要进行编译或连接。

2 源代码以.py为扩展名,由python来负责解释;

3 源文件经过编译后生成扩展名为.pyc的文件,即编译过的字节文件。这种文件不能使用文本编辑器修改。pyc文件是和平台无关的,可以在大部分操作系统上运行。如下语句可以用来产生pyc文件:
 

import py_compile
py_compile.compile(‘hello.py')

4 经过优化的源文件会以.pyo为后缀,即优化代码。它也不能直接用文本编辑器修改,如下命令可用来生成pyo文件:
 

python -O -m py_complie hello.py

【变量】

1 python中的变量不需要声明,变量的赋值操作即使变量声明和定义的过程。

2 python中一次新的赋值,将创建一个新的变量。即使变量的名称相同,变量的标识并不相同。用id()函数可以获取变量标识:
 

x = 1
print id(x)
x = 2
print id(x)

3 如果变量没有赋值,则python认为该变量不存在

4 在函数之外定义的变量都可以称为全局变量。全局变量可以被文件内部的任何函数和外部文件访问。

5 全局变量建议在文件的开头定义。

6 也可以把全局变量放到一个专门的文件中,然后通过import来引用:

gl.py文件中内容如下:
 

_a = 1
_b = 2

use_global.py中引用全局变量:
 

import gl
def fun():
 print gl._a
 print gl._b
fun()

【常量】

python中没有提供定义常量的保留字。可以自己定义一个常量类来实现常量的功能。
 

class _const:
 class ConstError(TypeError): pass
  def __setattr__(self,name,vlaue):
   if self.__dict__.has_key(name):
    raise self.ConstError, “Can't rebind const(%s)”%name
    self.__dict__[name]=value
import sys
sys.modules[__name__]=_const()

【数据类型】

1 python的数字类型分为整型、长整型、浮点型、布尔型、复数类型。

2 python没有字符类型

3 python内部没有普通类型,任何类型都是对象。

4 如果需要查看变量的类型,可以使用type类,该类可以返回变量的类型或创建一个新的类型。

5 python有3种表示字符串类型的方式,即单引号、双引号、三引号。单引号和双引号的作用是相同的。python程序员更喜欢用单引号,C/Java程序员则习惯使用双引号表示字符串。三引号中可以输入单引号、双引号或换行等字符。

【运算符和表达式】

1 python不支持自增运算符和自减运算符。例如i++/i-是错误的,但i+=1是可以的。

2 1/2在python2.5之前会等于0.5,在python2.5之后会等于0。

3 不等于为!=或<>

4 等于用==表示

5 逻辑表达式中and表示逻辑与,or表示逻辑或,not表示逻辑非

【控制语句】

1 条件语句:
 

if (表达式) :
  语句1
else :
  语句2

2 条件语句:
 

if (表达式) :
 语句1
elif (表达式) :
 语句2
…
elif (表达式) :
 语句n
else :
 语句m

3 条件嵌套:
 

if (表达式1) :
 if (表达式2) :
  语句1
 elif (表达式3) :
  语句2
 …
 else:
  语句3
elif (表达式n) :
  …
else :
  …

4 python本身没有switch语句。

5 循环语句:
 

while(表达式) :
  …
else :
  …

6 循环语句:
 

for 变量 in 集合 :
  …
else :
  …

7 python不支持类似c的for(i=0;i<5;i++)这样的循环语句,但可以借助range模拟:
 

for x in range(0,5,2):
  print x

【数组相关】

1 元组(tuple):python中一种内置的数据结构。元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字甚至元素。元组是写保护的,即元组创建之后不能再修改。元组往往代表一行数据,而元组中的元素代表不同的数据项。可以把元组看做不可修改的数组。创建元组示例如下:
 

tuple_name=(“apple”,”banana”,”grape”,”orange”)

2 列表(list):列表和元组相似,也由一组元素组成,列表可以实现添加、删除和查找操作,元素的值可以被修改。列表是传统意义上的数组。列表创建示例如下:
 

list=[“apple”,”banana”,”grage”,”orange”]

可以使用append方法来在尾部追加元素,使用remove来删除元素。

3 字典(dictionary):由键-值对组成的集合,字典中的值通过键来引用。键和值之间用冒号隔开,键-值对之间用逗号隔开,并且被包含在一对花括号中。创建示例如下:
 

dict={“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”}

4 序列:序列是具有索引和切片能力的集合。元组、列表和字符串都属于序列。

【函数相关】

1 python程序由包(package)、模块(module)和函数组成。包是由一系列模块组成的集合。模块是处理某一类问题的函数和类的集合。

2 包就是一个完成特定任务的工具箱。

3 包必须含有一个__init__.py文件,它用于标识当前文件夹是一个包。

4 python的程序是由一个个模块组成的。模块把一组相关的函数或代码组织到一个文件中,一个文件即是一个模块。模块由代码、函数和类组成。导入模块使用import语句。

5 包的作用是实现程序的重用。

6 函数是一段可以重复多次调用的代码,函数定义示例如下:
 

def arithmetic(x,y,operator):
  result={
   “+”:x+y,
   “-“:x-y,
   “*”:x*y,
   “/”:x/y
  }

7 函数返回值可以用return来控制。

【字符串相关】

1 格式化输出:
 

format=”%s%d” % (str1,num)
print format

2 用+进行字符串的合并:
 

str1=”hello”
str2=”world”
result=str1+str2

3 字符串截取可以通过索引/切片,也可以通过split函数。

4 通过切片截取字符串:
 

word=”world”
print word[0:3]

5 python使用==和!=来进行字符串比较。如果比较的两个变量的类型不相同,那么结果必然为不同。

【文件处理】

1 简单处理文件:
 

context=”hello,world”
f=file(“hello.txt”,'w')
f.write(context);
f.close()

2 读取文件可以使用readline()函数、readlines()函数和read函数。

3 写入文件可以使用write()、writelines()函数

【对象和类】

1 python用class保留字来定义一个类,类名的首字符要大写。当程序员需要创建的类型不能用简单类型来表示时,就需要定义类,然后利用定义的类创建对象。定义类示例:
 
class Fruit:
    def grow(self):
       print “Fruit grow”

2 当一个对象被创建后,包含了三方面的特性,即对象的句柄、属性和方法。创建对象的方法:
 

fruit = Fruit()
fruit.grow()

3 python没有保护类型的修饰符

4 类的方法也分为公有方法和私有方法。私有函数不能被该类之外的函数调用,私有的方法也不能被外部的类或函数调用。

5 python使用函数”staticmethod()“或”@ staticmethod“指令的方法把普通的函数转换为静态方法。静态方法相当于全局函数。

6 python的构造函数名为__init__,析构函数名为__del__

7 继承的使用方法:
 

class Apple(Fruit):
  def …

【连接mysql】

1 用MySQLdb模块操作MySQL数据库非常方便。示例代码如下:
 

import os, sys
import MySQLdb
try:
  conn MySQLdb.connect(host='localhost',user='root',passwd='',db='address'
except Exception,e:
  print e
  sys.exit()
cursor=conn.cursor()
sql='insert into address(name, address) values(%s, %s)'
value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))
try
  cursor.executemany(sql,values)
except Exception, e:
  print e
sql=”select * from address”
cursor.execute(sql)
data=cursor.fetchall()
if data
  for x in data:
    print x[0],x[1]
cursor.close()
conn.close()

谢谢!

Python 相关文章推荐
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
Python读取Word(.docx)正文信息的方法
Mar 15 Python
完美解决在oj中Python的循环输入问题
Jun 25 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
python使用wxpy实现微信消息防撤回脚本
Apr 29 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
简单了解python代码优化小技巧
Jul 08 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
python画微信表情符的实例代码
Oct 09 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
Python3自定义json逐层解析器代码
May 11 Python
python 决策树算法的实现
Oct 09 Python
初步解析Python中的yield函数的用法
Apr 03 #Python
几个提升Python运行效率的方法之间的对比
Apr 03 #Python
对于Python的Django框架使用的一些实用建议
Apr 03 #Python
《Python之禅》中对于Python编程过程中的一些建议
Apr 03 #Python
给Python初学者的一些编程技巧
Apr 03 #Python
Python新手在作用域方面经常容易碰到的问题
Apr 03 #Python
Python中设置变量作为默认值时容易遇到的错误
Apr 03 #Python
You might like
PHP生成HTML静态页面实例代码
2008/08/31 PHP
PHP下10件你也许并不了解的事情
2008/09/11 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
javascript 继承实现方法
2009/08/26 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
pandas对指定列进行填充的方法
2018/04/11 Python
详解python解压压缩包的五种方法
2019/07/05 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
wxpython绘制音频效果
2019/11/18 Python
python构造函数init实例方法解析
2020/01/19 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
Django更新models数据库结构步骤
2020/04/01 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
面试后的英文感谢信
2014/02/01 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
中英文求职信范文
2015/03/19 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
django上传文件的三种方式
2021/04/29 Python
redis 限制内存使用大小的实现
2021/05/08 Redis