python学习记录

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中,truefalse的前两个字母要大写,这样的: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) 比较mn的大小,mn大就返回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)   查找字符串strdstrs中的起始位置,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]                  #不过它把不符合条件的给过滤掉了,如查我不想过滤掉怎么办啊(现在不知道)

发布了9 篇原创文章 · 获赞 2 · 访问量 11万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章