1.python基础
1.1 开发环境
1>linux:
yum install python -y
python ##交互模式
vim,gedit... ##编辑模式
2>windows:
notepad++
sublime
atom
...
3>Mac:(os>10.8)python2.7
1.2 python 解释器
cpython:
Jpython:
Ironpython:生成.net字节码
1.3 python 交互模式
ipython
python
2.python基础
2.1 变量
1>数字:
int,long,float,complex(复数),bool(布尔)
2>字符串:
str
a[0] ##索引,从零开始
a[0:5:-1] ##切片,[开始:结束:步长]都可为负数,表示倒序字符串
3>元组tuple:
元组的定义:
- 定义空元组 tuple = ()
- 定义单个值的元组 tuple = (yang,)
- 一般的元组 tuple = (yang, 8, man)
>>> t1 = ("yang",18,"man")
>>> t2 = ("westos", 10, "unknown")
>>> type(t1)
<type 'tuple'>
>>> type(t2)
<type 'tuple'>
>>> t1[0]
'yang'
>>> t2[0]
'westos'
>>> t2[0:2]
('westos', 10)
##不能对元组的值任意更改
##对元组分别赋值,引申对多个变量也可通过元组方式分别赋值
>>> t1
('yang', 18, 'man')
>>> name,age,gender=t1
>>> print name,age,gender
yang 18 man
4>列表list:
列表的定义:
li = ["yang", 4, gender]
列表是可变类型的序列,而元组与字符串是不可变类型的序列
>>> li = ["yang", 18, "man"]
>>> type(li)
<type 'list'>
>>> li[1]
18
>>> li[1] = 17
>>> li
['yang', 17, 'man']
##列表的操作:理解"对象=属性+方法"与类
>>> li
['yangs', 17, 'man']
# 添加:list.append()
>>> li[3] = "cat"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> li.append('cat')
>>> li
['yang', 17, 'man', 'cat']
# 删除:del(list[]), list.remove(list[])
方法一:
>>> li.remove("cat")
>>> li
['yangs', 17, 'man']
方法二:
>>> li.remove(li[3])
>>> li
['yangs', 17, 'man']
方法三:
>>> del(li[3])
>>> li
['yangs', 17, 'man']
5>集合set:
s = {1,2,3,4}
6>字典dict
定义:
dic = {"name":"westos","age":5,"gender":"unknow"}
方法:
dic.items()
>>>[('gender', 'unknow'), ('age', 5), ('name', 'westos')]
dic.keys()
>>>['gender', 'age', 'name']
dic.values()
>>>['unknow', 5, 'westos']
for k,v in dic.items():
print "k=",k,"v=",v
....:
>>>k= gender v= unknow
k= age v= 5
k= name v= westos
a = dic.itervalues() ##返回一个迭代器
a.next()
#注意:
- C语言中,定义一类型,必须先开辟一存储空间,当后期重新赋值时也一定> 是整型的;
- python中,先在内存上存储数据后,再通过标签去引用。不同的字符串占用不同的存储空间.
2.2 输入输出
2.2.1 输出
print a ##输出a的值
print "a" ##输出‘a’字符
print "1+1" ##输出1+1
print 1+1 ##输出2
print "字符:%s ,整型:%d ,浮点型:%f ,十六进制:%x " %("abc",10,1.0,FF)
2.2.2 输入
raw_input() ##默认输入类型为str
a = raw_input("please input a number :")
2.2.3 编码格式
ASCII -> GB2312 -> Unicode -> utf-8
#coding:utf-8
#coding=utf-8
#encoding:utf-8
#encoding=utf-8
#-*-coding:utf-8-*-
3. 流程控制
3.1 if语句
if condation: 1>2 / 1>2 and 3>2
bady...
elif:
bady...
else:
bady...
x if x > 0 else -x ##类似于三元式 x?y:z
3.2 中断
break ##直接中断
continue ##跳过这次循环继续运行
pass ##跳过此代码段
3.3 while 循环
while 1
bady...
break
3.4 for 循环
for
3.5 函数def
def hell():
print "hello"
def add(x,y):
if isinstance(x,(int,float,long)) and isinstance(y,(int,float,long)):
return x + y
else:
print "error"
print add(1,2)
global b ##可令局部变量生成全局变量,必须先定义后使用