python学习笔记-01基础

来源:互联网 发布:php 获取客户端端口号 编辑:程序博客网 时间:2024/06/03 11:58

安装

1.windows下安装:下载(win32/64),安装时勾选“加入到path”中,否则需手动加入到path中
2.linux下安装:点击打开链接
    (1)解压:tar zxvf    Python-2.7.6.tgz
    (2)进入目录:cd Python-2.7.6
    (3)执行以下命
$ ./configure  $ make  $ make install  
 (4)替换旧版本
cd /usr/binll |grep python  #查看该目录下pythonrm -rf python    #删除此软链接ln -s /usr/local/Python-2.7.6/python ./python  #建立对应的软链接python   #验证
说明:通常linux系统均装有python,如无特别需求,直接使用即可

Python解释器

1.CPython:官方版本解释器,用C语言开发,也是使用最为广泛的解释器
2.IPython:基于CPython之上,在交互方式上有所增强的一个解释器,执行代码效果和CPython一样。
3.PyPy:采用JIT技术,对Python代码进行动态编译,执行速度快。
4.Jython:运行在java平台上的Python解释器,可以直接把python代码编译成java字节码执行。
5.IronPython:运行在.net平台上的Python解释器,可以直接把Python代码编译成.net的字节码。

小结:官方的CPython是使用最广泛的解释器,如果要与java或.net平台交互,最好的办法不是用Jython或IronPython,而是通过网络交互,确保各程序的独立性。
    

HelloWorld

1.交互模式
    (1)进入cmd,然后输入python进入交互模式
    (2)在交互模式下,输入 print "hello world" 
2.文本模式
    (1)使用notepad++编写hello.py文件,内容如下:
#!/usr/bin/env python  print 'hello world!'

(2)进入hello.py文件所在的目录,执行 py hello.py
说明在linux或mac中可以直接运行hello.py。但在py文件中的第一行需加上:#!/usr/bin/env python 


输入输出

1.输入输出典例
    (1)编写hello_input.py文件,代码如下:

name =raw_input("please input your name:")print "hello,",name

(2)执行python hello.py   <假定用户输入了jack>
说明:name变量前的逗号,打印时会用空格代替,所以实际打印结果为 hello,[空格]jack

    

基础语法

1.基础规则
    (1)#表示注释
    (2)每行代表一个语句
    (3)当语句以:结尾时,缩进的语句视为代码块,缩进的结束意味着代码块的结束。
    (4)一行也可以出现多个语句:要求每个语句都是简单语句(如赋值,打印,函数调用);且每个语之间用分号进行分隔。
2.数据类型
    (1)数字:整数、浮点数(如1.2x105=1.2e5)  主要运算符:+-*/%**运算

    (2)字符串:合并('abc'+'def'),len(str),支持分片(如str[1:3]) 
用法
    单引号:'the "apple" is ok'  
    双引号:"the 'phone' is apple"  
    三引号:'''...content...'''   """...content..."""
    转义字符:“”
    raw字符串:r"c:\nice\test.py"  
    unicode字符串:u'spam'
编码
    ASCII码:字符转成ASCII编码,如:ord('A')   ; ASCII编码转成字符,如:chr(65)
    unicode编码:转成unicode编码:unicode('spam'),unicode转成普通字串:str(u'spam')
    utf-8编码:把u'xxx'转换为UTF-8编码,如:u'中文'.encode('utf-8') ;
把UTF-8编码的字串转换为Unicode字符串,如:'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
      在保存源代码时,要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上行:# -*- coding: utf-8 -*- (这段代码实际上是告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。)
格式化
    类型:%d整数、%f浮点数、%s字符串、%x十六进制整数 如:print '%d apple,%d grape'  %(3,5)
    字符串里面的%是一个普通字符时,用%%来表示一个%,如:'growth rate: %d %%'  % 7  
    
    (3)列表:list是一种有序的集合,可以随时添加或删除其中的元素
用法:
    1)定义:classmates = ['Michael', 'Bob', 'Tracy']
    2)获取元素个数:len(classmates)
    3)顺序访问:classmages[0]
    4)倒序访问:classmates[-1](倒数第一个元素) classmates[-2](倒数第二个元素)
    5)list中追加元素到末尾: classmates.append('Adam')
    6)把元素插入到指定的位置,如索引号为1的位置:classmates.insert(1, 'Jack')
    7)删除list末尾的元素:classmates.pop()
    8)删除指定位置的元素,如删除索引为1位置的元素:classmates.pop(1)
    9)元素替换成别的元素:classmates[1] = 'Sarah'
    10)list里面的元素的数据类型也可以不同,如:mylist = ['Apple', 123, True]
    11)list元素也可以是另一个list,如:lan= ['python', 'java', ['asp', 'php'], 'scheme'] 
    12)二维数组: p = ['asp', 'php']  s = ['python', 'java', p, 'scheme']  访问s[2][1]则显示php  

    (4)元组:tuple是一种有序的列表。tuple和list非常类似,但是tuple一旦初始化就不能修改
用法
    1)定义:classmates = ('Michael', 'Bob', 'Tracy')
    2)定义一个元素的tuple,必须在元素后加上逗号:如tu=(2,) 如果最后没有逗号,小括号便产生了计算中的小括号的作用,结果tu变成了2
    3) t = ('a', 'b', ['A', 'B'])  ,然后 t[2][0] = 'X' ,发现t变成了('a', 'b', ['X', 'B'])   tuple所谓的“不变”是说,tuple的每个元素,指向永远不变(一开始指向的list并没有改成别的list)。因此要创建一个内容也不变的tuple,那就必须保证tuple的每一个元素本身也不能变。  

    (5)字典:字典中的元素通过键来存取,能进行非常快速的搜索操作。
在dict中通过key来计算value的存放位置(这种算法称为hash算法),因此要求key不变,这即是说作key的只能是整数或字串
用法
    1)定义 :d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    2)查找:d['Michael']   或 d.get('Michael',-1)
    3)判断key是否存在:'Michael' in d
    4)删除pop(key):pop('Michael')  ,会连同value一起删除  

    (6)set:是一组key的集合(但无value),因此不能有重复的元素
用法
    1)set定义:s = set([1, 2, 3]) 
    2)去重: s = set([1, 1, 2, 2, 3, 3]) 实际打印s:set([1, 2, 3])
    3)删除remove(key):remove(1)
0 0
原创粉丝点击