python中的一些关键词中的下划线是两个"_","__"
copy可以复制任何对象
deepcopy 深拷贝,可以深入的拷贝对象
高级的数据结构可以在一个语句中构造出复杂的操作
语句的组织用缩进,而不是像{}begin end 我用Tab来缩进,不用空格
不用声明变量,和asp一样,但是使用时要注意,不要乱了
"_"这个符号保存了最后一次计算的值,像这样的
>>>a=3
>>>b=4
>>>a+b #不是print a+b
7
>>>_
7
用"/"作为沿续符
>>>“hello/
word“
hello world
在字符串前面加一个"r",它会换输入的格式来打印出来
>>>r“hello/nworld“
hello/nworld
用三个“'“也可以有一样的效果
函数的default参数,但default参数要全部们于右边
def add(a=3,b=4)
def add(c,a=3,b=4): #这是对的
def add(a=3,b=4,c): #这是不对的
函数的序列参数
def add(a,*b): #序列参数
可这样传值了
>>>add(3,4,56)
一个完整的例子:
>>> def add(a,*b):
coun=0
for i in b:
coun = coun + i
return coun + a
>>> add(3,4)
7
>>> add(3,4,5,5)
17
>>> add(3,4,5,2,3,3,3,3,33,3,3)
65
>>>
函数的字典参数
def add(a,**b)
>>>add(3,x=3,y=4,z=5)
调用序列参数和字典参数的另种方法:
>>>def add(a,*b,**c) #注意,这三种形参不能颠倒位置
>>>add(3,*(4,5,6),**{'x':7,'y':8})
python学习笔记1 <script language="javascript" type="text/javascript">document.title="python学习笔记1 - "+document.title</script>
1 转换函数
int 转换为整型
long 转换为长整型
float转换为浮点数
complex转换为复数
str转换为字符串
2 常用内部函数
Abs() 返回绝对值
Coerce() 强制两个变量的类型,就是将低层次的转为高层次的
Divmod() 得到a除以b的商和余数
Pow() 进行乘幂计算,有两个参数,如果有三个参数先将前两个乘幂,再和第三个运算得到模
>>>Pow(9,2) #得到81
>>>Pow(9,2,7) #先得到81,再得到4
Round() #取小数后几位
Hex()
将整数转换成16进制
Oct()
将整数转成8进制
Ord()
将字符转换为数值
Chr()
将数值转换为字符
python学习笔记2 <script language="javascript" type="text/javascript">document.title="python学习笔记2 - "+document.title</script>
1 布尔表达式
非0的数值为真,0为假
非空的字符为真,空字符为假
看个例子:
a=raw_input("输入一些东西")
if a:
print "你输入了"
else:
print "你没有输入"
2 如果想什么都不执行可加上"pass",表示什么都不做
3 在python中,true和false的前两个字母要大写,这样的:True,False
4 if 语句
If x > y:
Print "x>y"
Elif x == y:
Print "x=y"
Else:
Print "x>y"
#可以没有else的
if语句只要检测到一条为真的分支就会退出if,不管后面有没有为真的条件
还可以这样写
If 0<x<10:
pass
5 while语句
While(条件为真时):
Pass
#执行的内容
6 return语句
return语句可用于返回函数的值,也可以终止函数并退出
7 break语句
break用于退出当前的函数,就是不执行了
8 continue语句
用于跳过当前的循环,继续下一次
记得要把关键字加1,如下:
>>> i=1
>>> while i<100:
if i==35:
i=i+1
#这一句要记得啊,否则程序就一直等待了
continue
print 'i=',i
i=i+1
9 键盘输入raw_input()
例>>>raw_input("Input your name:")
10 字符串的索引
Str="Hello!"
Str[2]='l'
Str[-2]='o'
字符串的值不能被改变,如下:
>>> a='sss'
>>> id(a)
10366592
>>> a='www'
>>> id(a)
10366912
11 Len() #取字符串的长度
>>> len(a)
3
12 可用"+"号把两个字符串连接起来,用"*"可将字符串的多个拷贝接连起来
>>> a="hello"
>>> b=" world"
>>> a+b
'hello world'
>>> (a+b) * 3
'hello worldhello worldhello world'
13 可用str[m:n]取得字符串str从第m个索引开到到第n个索引的字符串,包括第m个索引的值,但不包括第n个索引的值,如果省略m,就从0开始,如果省略n就取到最后一位
>>> c='abcdefghijklmn'
>>> c[0:5]
'abcde' #没有包括第5个索引的值
>>> c[:4] #省略了m
'abcd'
>>> c[5:] #省略了n
'fghijklmn'
但不可以像str[k]='a'这样来改变字符串中的值,这样是错误的
4 可用"in"来检测一个字符串是否在另一个字符串中出现
>>> 'n' in a
True
5 用for来遍历整个字符串
>>>for temp in a:
print temp
#用for来得到一个字符在另一个字符串中出现的次数
>>> def coun(str,ch):
coun=0
for temp in str:
if temp == ch:
coun=coun + 1
return coun
>>> coun('abcdefabcd','a')
2
>>>
python学习笔记3 <script language="javascript" type="text/javascript">document.title="python学习笔记3 - "+document.title</script>
1 字符串的格式化操作
Format % variable #Format是格式的样式,variable是要被格式化的变量]
format有如下几种形式
%o
#将数值转换为八进制
%x
#将数值转换为十六进制
%d #整数转换符号
%s
#字符串转换符号
如下:
>>> '%o' % 100
'144'
>>> '%#o' % 100 #加入一个“#”号可输出标准的8进制数或16进制数
'0144'
#单精度的转换
>>> '%.2f' % 3.235412 #.2表示保留两们小数
'3.24'
>>> pi=3.1415926
>>> '%.2f' % pi #.2f是不包括小数位
'3.14'
>>> '%.2g' % pi #.2g是包括小数位
'3.1'
原意字符操作符"r"或"R"
>>> print 'hell','/nwrold'
hell
wrold
>>> print 'hello',r'/nwrold' #print 'hello',R'/nwrold'
hello /nwrold
>>>
2 字符串的几个内置函数
1 Cmp(m,n) 比较m和n的大小,m比n大就返回1,比m小就返回-1,相等就返加0
>>> a='a'
>>> b='b'
>>> print cmp(a,b)
-1
2 寻找字符串中的最大字符和最小字符max(),min()
>>> max('abcdef')
'f'
>>> min('abcdef')
'a'
3 字符串模块
1 find(strs,strd,m,n) 查找字符串strd在strs中的起始位置,m为开始查找的位置,n为终止位置
>>> import string
>>> a='www.slssoft.com'
>>> b='sls'
>>> print string.find(a,b) #default为从头找到尾
4
>>> print string.find(a,b,2) #从第2位开始找
4
>>> print string.find(a,b,2,5) #从第2位找到第5位
-1
2 string.uppercase #包涵了所有的大写字母
string.lowercase #包涵了所有的小写字母
string.digits #包涵了所有的数字
例如查找一个字符串是否全部为大写字母
def isUpper(str):
import string
temp=''
for temp in str:
if string.find(string.uppercase,temp) == -1:
return False
return True
还有一种方法:
>>> print 'a'<='c'<='z'
True
Python学习笔记_列表 <script language="javascript" type="text/javascript">document.title="Python学习笔记_列表 - "+document.title</script>
1 列表的操作
1) 用加号“+”号操作符来连接两个列表,list=list1+list2
如下:
>>> a=[1,2]
>>> b=[3,4]
>>> c=a+b
>>> print c
[1, 2, 3, 4]
2) 用乘号“*”来重复一定次数的列表 list=list*n
>>> a=a*3
>>> print a
[1, 2, 1, 2, 1, 2]
>>>
3) 列表的元素是可变的,这点和字符串不一样,我们可以修改,删除,增加列表中的元素的值
>>> a=[5,2,4]
>>> a
[5, 2, 4]
>>> a[0]=1 #修改元素
>>> a[-1]=3
>>> a
[1, 2, 3]
4) 利用片段删除元素
>>> a[1:2]=[]
>>> a
[1, 3]
5) 利用片段插入元素
>>> a[1:1]=[4]
>>> a
[1, 4, 3]
6) 元素的删除del
>>> a
[1, 4, 3]
>>> del a[1]
>>> a
[1, 3]
还有一种
>>> list=[1,2,3,4,5]
>>> del list[2:4]
>>> list
[1, 2, 5]
7) 列表和字符串的不同之处
如下:相同的两个变量如果值一样,那么它们的ID是一样的
>>> a=12
>>> b=12
>>> print id(a),id(b)
8013556 8013556
>>> a=13
>>> print id(a),id(b)
8013544 8013556
>>>
但是列表却不同,如下:
>>> a=[1,2]
>>> b=[1,2]
>>> print id(a),id(b)
10361904 10361712
8) 克隆列表
第一种方式:这种方式改变了其中的一个列表另一个也会相应的修改,因为它们指向的是一个内存地址
>>> a=[1,2,3]
>>> b=a
>>> print id(a),id(b)
10362320 10362320
>>> b[0]=4
>>> print id(a),id(b)
10362320 10362320
>>> a,b
([4, 2, 3], [4, 2, 3])
>>>
第二种方法:这种方法就互不影响了
>>> a=[1,2,3]
>>> b=a[:]
>>> print id(a),id(b)
10362480 10361872
>>> b[0]=4
>>> print id(a),id(b)
10362480 10361872
>>> a,b
([1, 2, 3], [4, 2, 3])
9) 如果用列表做为函数的实参,也要注意这个问题,如下所示
>>> def uplist(mylist):
mylist[0]='mylist'
>>> a=['a','b','c']
>>> uplist(a)
>>> print a
['mylist', 'b', 'c']
#函数改变了外面的列表a的元素,为了避免这个问题可用上面讲的第二种方法,先将mylist做一个备份,就是这样的
Temp=mylist[:],而不能这样temp=mylist
10) 嵌套列表,就是说一个列表是另一个列表的元素
>>> list=[1,2,[3,4]]
>>> list
[1, 2, [3, 4]]
>>> list2=list[2] 可以这样取嵌套在里面的列表
>>> list2
[3, 4]
也可以这样来取
>>> list[2][0]
3
2 字符串和列表的一些函数
1) 将字符串按指定的字符分割成列表,如下: string.split(str,ch) 单词的default分隔符为空格,可以不写
>>> import string
>>> myname="My name is xie guo zhong"
>>> mynamelist = string.split(myname)
>>> mynamelist
['My', 'name', 'is', 'xie', 'guo', 'zhong']
2) 将列表合并成字符串 string.join(list,ch)
>>> myName=string.join(mynamelist)
>>> myName
'My name is xie guo zhong'
3 列表的映射
如果要对列表的许多元素进行操作可以用如下方法:
>>> list=[1,2,3,4,5,6]
>>> i=0
>>> for temp in list:
list[i]=list[i] + 10
i=i+1
>>> list
[11, 12, 13, 14, 15, 16]
如果有条件的话可以加入条件
>>> list
[11, 12, 13, 14, 15, 16]
>>> i=0
>>> for temp in list:
if temp<>12:
list[i]=list[i]/10
i=i+1
>>> list
[1, 12, 1, 1, 1, 1]
如果用列表映射就可以省点代码:
>>> list
[1, 2, 3, 4, 5, 6]
>>> list=[temp*10 for temp in list]
>>> list
[10, 20, 30, 40, 50, 60]
如果有条件
>>> list
[10, 20, 30, 40, 50, 60]
>>> list=[temp /10 for temp in list if temp<>30]
>>> list
[1, 2, 4, 5, 6] #不过它把不符合条件的给过滤掉了,如查我不想过滤掉怎么办啊(现在不知道)