python学习笔记一:十分钟入门

【转】为什么要自己敲呢?--学习的过程。

发展历史

简介:

Python是一种动态解释型的编程语言。Python可以再Windows,UNIX,MAC等多种ca

特点:

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 word:

1. 创建hello.py

if __name__ == \‘__mian__\‘:
    print "Hello Word"

2. 运行程序

python ./hello.py

注释:

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

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

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

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

1 #! /usr/bin/python

文件类型:

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

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

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

1 import py_compile
2 py_compile.compile(‘hello.py‘)

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

1 python -O -m py_compile hello.py

变量:

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

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

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

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

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

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

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

gl.py:

1 _a = 1
2 _b = 2

use_global.py

1 import gl
2 def fun():
3    print gl._a
4    print gl._b
5 fun()

常量:

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

1 class _const:
2   class ConstError(TypeError):pass
3     def __setattr__(self,name,value):
4         if self.__dict__.has_key(name):
5            raise self.ConstError, "Can‘t rebind const(%s)"%name
6            self.__dict__[name]=value
7 import sys
8 sys.modules[__name__]=_const()

数据类型:

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

2 python没有字符类型

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

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

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

运算符合表达式:

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

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

3 不等于为!=或<>

4 等于用==表示

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

控制语句:

1 条件语句:

 1 if (表达式):
 2    语句1
 3 else :
 4    语句2
 5
 6 if (表达式):
 7    语句1
 8 elif (表达式) :
 9    语句2
10 else
11    语句3
12 # 嵌套
13 if (表达式):
14   if (表达式):
15      语句1
16   elif (表达式) :
17      语句2
18   else
19     语句3
20 elif (表达式) :
21    语句2
22 else
23    语句3

4 python本身没有switch语句。

5 循环语句:

while (表达式):
  ...
else :
  ...

for 变量 in 集合 :
  ...
else :
  ...

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

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

数组相关:

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

tuple_name=("apple","banana","orange")

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

list = ["grage","orange"]

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

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

dict={"a":"apple","b":"banana"}

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

函数相关:

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

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

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

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

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

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

1 def arithmetic(x,y,operator):
2      resul={
3           "+":x+y,
4           "-":x-y,
5           "*":x*y,
6           "/":x/y,
7      }

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

字符串相关:

1 格式化输出:

1 format="%s%d" % (str1,num)
2 print format

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

1 strl1="hello"
2 str2="world"
3 result=str1+str2

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

4 通过切片截取字符串:

1 word="world"
2 print word[0:3]

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

文件处理:

1 简单处理文件:

1 context="hello,world"
2 f=file("hello.txt",‘w‘)
3 f.write(context)
4 f.close

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

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

对象和类:

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

1 class Fruit:
2     def  grow(self):
3          print "Fruit grow"

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

1 fruit = Fruit()
2 fruit.grow()

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

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

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

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

7 继承的使用方法:

1 class Apple(Fruit):
2     def ...

连接mysql:

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

 1 import os, sys
 2 import MySQLdb
 3 try:
 4      conn MySQLdb.connect(host=‘locathost‘,user=‘root‘,passwd=’’,db=’address’)
 5 except Exception,e:
 6     print e
 7     sys.exit()
 8 cursor=conn.cursor()
 9 sql=’insert into address(name, address) values(%s, %s)’
10 value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))
11 try
12     cursor.executemany(sql,values)
13 except Exception, e:
14     print e
15 sql=”select * from address”
16 cursor.execute(sql)
17 data=cursor.fetchall()
18 if data
19     for x in data:
20         print x[0],x[1]
21 cursor.close()
22 conn.close()
时间: 2024-10-11 15:29:40

python学习笔记一:十分钟入门的相关文章

Python学习笔记(十八)

一.datetime简介 datetime是Python处理日期和时间的标准库 二.导入datetime日期时间处理标准库 # datetime是日期时间模块,其中包括一个同名的日期时间类 from datetime import datetime 三.获取当前的年月日日期时间信息 # 获取当前日期时间信息 now = datetime.now() 四.指定日期时间 dt = datetime(2015,3,4,12,12,23) 五.将日期时间转换为Unix时间缀 # 将日期时间对象转换为Un

Python学习笔记(十)

一.类和构造函数的定义 class 类名(object): def __init__(self,name,score): self.name = name self.score = score def show_info(self): print("name=",name,"score=",score) 类名通常大写 二.通过变量生成实例 student1 = Student("cq",100) 三.自由的为对象实例添加属性 student1 =

Python学习笔记之Scrapy框架入门

创建一个新的Scrapy项目 定义提取的Item 写一个Spider用来爬行站点,并提取Items 写一个Item Pipeline用来存储提取出的Items 新建工程 在抓取之前,你需要新建一个Scrapy工程.进入一个你想用来保存代码的目录,然后执行:scrapy startproject tutorial 这个命令会在当前目录下创建一个新目录tutorial,它的结构如下: T:. │  scrapy.cfg │ └─tutorial │  items.py │  pipelines.py

Python学习笔记第二十六周(Django补充)

一.基于jQuery的ajax实现(最底层方法:$.jax()) $.ajax( url: type:''POST" ) $.get(url,[data],[callback],[type])  #callback是发送成功后就执行的函数,type是告诉服务器需要什么数据,type:text|html|json|script $.post(url,[data],[callback],[type]) 例子: $.get('/jquery_get/',{name:'gavin'}) //name关键

Python学习笔记(十)匿名函数

摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431843456408652233b88b424613aa8ec2fe032fd85a000 本文章完全用于个人复习使用,侵删: 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时,除了定义一个f(

Python学习笔记第十九周

目录: 一.路由系统URL 1.Django请求生命周期 2.创建Django project 3.配置 4.编写程序 二.视图 三.模板 四.ORM操作 内容: 一.URL 1.Django请求生命周期 URL对应关系(匹配)-> 视图函数 -> 返回用户字符串   URL对应关系(匹配)    -> 视图函数 -> 打开一个HTML文件,读取内容 2.创建Django project django-admin  startproject myproject cd  myproj

Python学习笔记(十)—— 高级特性

一.切片 1.定义: 经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符. 2.语法: A[1:3] 取出1到3,都是正数的情况下,缺填的为0(第一个),end(最后一个) B[-3:] 取出倒数第三个到倒数第一个,都是负数的情况下,缺填的为-1(最后一个) C[1:10:2] 从1到10,每2个取一个 跟matlab差不多的语法,就是对一个向量可以进行矩阵操作.可以对List.tuple,string,dict,set等使用 二.切片 1.定义: 如果给

Python学习笔记整理(十)Python的if测试

if语句是选取要执行的操作. 一.if语句 1.通用格式 形式是if测试,后面跟着一个或多个可选的elif(else if)测试,以及一个最终选用的else块.测试和else部分可以结合嵌套语句块,缩进列在行首下面.Python会执行第一个结算结果为真的代码块,或者如果所有测试都为假时,就执行else块. if语句一般形式如下: if <test1>:     <statements1> elif <test2>:     <statements2> els

Python学习笔记(十九)

一.collections介绍 collections是Python中内建的一个集合模块,提供了许多有用的集合类 二.namedtuple namedtuple是一个函数,用来创建一个类似类的自定义的tuple对象,并且可以设定名称以及元素的个数以及元素的属性,并且可以通过直接引用元素的属性来访问元素. Point = namedtuple("Point",[x,y]) p = Point(1,2) print(p.x,p.y) 三.deque deque 是为了实现高效插入和删除操作

python学习笔记-(十五)RabbitMQ队列

rabbitMQ是消息队列:想想之前的我们学过队列queue:threading queue(线程queue,多个线程之间进行数据交互).进程queue(父进程与子进程进行交互或者同属于同一父进程下的多个子进程进行交互):如果两个独立的程序,那么之间是不能通过queue进行交互的,这时候我们就需要一个中间代理即rabbitMQ 消息队列: RabbitMQ ZeroMQ ActiveMQ ........... 一. 安装 1. ubuntu下安装rabbitMQ: 1.1 安装: sudo a