python学习笔记-01基础
来源:互联网 发布:php 获取客户端端口号 编辑:程序博客网 时间:2024/06/03 11:58
安装
1.windows下安装:下载(win32/64),安装时勾选“加入到path”中,否则需手动加入到path中
2.linux下安装:点击打开链接
2.linux下安装:点击打开链接
(1)解压:tar zxvf Python-2.7.6.tgz
(2)进入目录:cd Python-2.7.6
(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
(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编码的字串转换为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
- python学习笔记-01基础
- Python基础学习笔记
- python基础学习笔记
- Python基础学习笔记
- python基础学习笔记
- python基础学习笔记
- python基础学习笔记
- 【Python学习笔记】基础
- Python学习笔记-基础
- Python 基础学习笔记
- Python基础学习笔记
- Python学习笔记(基础)
- Python学习笔记(基础)
- Python基础学习笔记
- Python基础学习笔记
- Python基础学习笔记
- Python学习基础笔记
- Python-基础学习笔记
- 步态图像处理的需求
- first
- mac下安装tomcat
- 【Sql Server学习】Sql Server数据查询(三)
- PHP下get_headers用法
- python学习笔记-01基础
- VELT-0.1.5开发:在vs2013下编译gdb
- Android自定义控件 开源组件SlidingMenu的项目集成
- c++Primer,四,数组和指针
- 数据结构中的三种排序(java)
- Http中get和post的区别
- angular 使用 ui-router 设计网页
- apk,task,android:process与android:sharedUserId的区别
- eclipse import android project出错,无法编译