转载

python初体验之基础语法(一)

所有测试语句基于Python 2.7.3 , Ubuntu 12.04

自学Python,如果哪里说的不对,还请指正。谢谢。

示例绝大部分来自博客园vamei的python教程

#!/usr/bin/env python #coding=UTF-8  #默认python编码是ASCII编码 要支持中文 #加上coding=UTF-8的声明  #输出语句 print ('你好 Python !!')

python初体验之基础语法(一)

打印一条语句,括号中用单引号双引号貌似都可以,

语句结束也不必加;分号作为结束,加上分号也不影响。

以下代码不再重复 #!/usr/bin/env python  #coding=UTF-8

#条件选择语句 if(3>3):     a = "Are you happy???" elif(2>3):     a = "bbbbbbbbb" else:     a = "cccccccc" print a;

python初体验之基础语法(一)

python最具特色的indent缩进语法,以4个空格表示所属关系,使用:包含语句块 摒弃大多数编程语言的{}

不必给元素设类型,Python自动给你设置类型,其中elif表示else if.

关于到底是用Tab键还是用4个空格,我觉得把tab键设置成4个空格,这个问题不就没有争议了吗?不知道对不对。

#循环语句 for a in [1,2,3,[4,5]]:     print a

python初体验之基础语法(一)

循环语句,有点类似C#和Java的foreach 循环。 其中list中的子元素还可以是list, index下标也是从0开始

#函数定义  是否为闰年 def isLeafYear(year):     return year%400==0 or (year%100!=0 and year%4==0) print isLeafYear(2004)

python初体验之基础语法(一)

函数定义,以关键字def作为标识。其中or关键字类似||,and关键字类似&&

#函数定义 return可以返回多个值 def square_sum(a,b):     c = a**2 + b**2     return c,a,b  print square_sum(1,3)

python初体验之基础语法(一)

return可以返回多个值,这个挺有特点,Java语言里应该不可以。

#将表b作为参数传递给函数 b=[1,2,3]  def change_list(b):     b[0] += 1     return b print change_list(b) print b

python初体验之基础语法(一)

通过表索引操作表,表b的值发生改变。

#值传递 原整数a的值不发生变化  试着将函数的参数换成b或者c就可以理解了。 a = 1 def change_a(a):     a = a + 1     return a print "函数的返回值是:",change_a(a) print "原整数a的值是:",a

python初体验之基础语法(一)

#定义一个父类 鸟类 #类中成员方法的第一个参数必须是调用该方法的对象本身 #习惯上使用self,也可使用it、this等等 #括号中为object是不是说明所有的类都是继承自Object ?? class Bird(object):  #有点类似构造函数  是两个下划线init  def __init__(self,something):   print 'I am a bird.',something   have_feather = True  way_of_reproduction = 'egg'  def move(self,dx,dy):   position = [0,0]   position[0] = position[0] + dx   position[1] = position[1] + dy   return position #生成一个叫夏天的小鸟的对象 这里不需要用类似高级语言的new关键字 summer = Bird('call me summer!') print summer.way_of_reproduction print summer.move(1,2) 

python初体验之基础语法(一)

子类继承父类

#子类小鸡继承父类 鸟类 (单继承) class Chicken(Bird):  way_of_move = 'walk'  possible_in_KFC = True #子类大雁继承父类 鸟类 (单继承) class DaYan(Bird):  def __init__(self,name):   self.name = name  way_of_move = 'fly'  possible_in_KFC = False  #重写父类move方法  def move(self,dx,dy):   position = [0,0]   position[0] = position[0] + dx**dx   position[1] = position[1] + dy**dy   return position  def print_name(self):   print "My name is ",self.name #现在summer是大雁了 summer = DaYan("doudou!") print summer.print_name() print summer.have_feather print summer.move(2,3) print dir(summer)  #dir() 用来查询一个类或者对象的所有属性 
#自定义list子类 添加对类似 [1,2,3] - [2,3]运算的支持 #这种自带两个__下划线的方法 是特殊方法 class SuperList(list):  def __sub__(self,b):   #self是SuperList的对象,可以使用类似 list[:] 的方式表示整个list对象   a = self[:]   b = b[:]   #如果list包含b中的元素,就移除,直到循环结束 len()返回list中元素个数   while len(b) > 0 :    element_b = b.pop() #pop() 从list中弹出最后一个元素值,并返回他的值    if element_b in a :     a.remove(element_b)   return a #这里的-减号运算符代表__sub__() 方法,类似+ 代表__add()__ #特殊方法和运算符相等价 print SuperList([1,2,3,4]) - SuperList([1,2]) 

python初体验之基础语法(一)

字典类的使用

#词典(dictionary)类 容器类 使用大括号 dic = {} #空的词典 print dic,type(dic) dic = {'name':'zhaowuji','age':21,'wife':'zhaomin'} #元素是键值对 无序 通过key值来得到value  print dic['name'],dic['wife'] #添加新元素。引用一个新的键,赋值。 出自倚天屠龙记 dic['from'] = 'yitiantulongji' print dic #词典元素的循环调用 for key in dic:  print key,':',dic[key] #词典常用方法 print (len(dic)) #查询词典用元素个数 print dic.keys() #返回所有key的值 list print dic.values()  #返回所有value的值 list print dic.items()   #返回dic所有的元素 ###删除方法### del dic['name']  #del 是python的关键字 用于删除对象 print dic ###删除元素### print dic.clear()   #清空dic,变为空的词典{} 

python初体验之基础语法(一)

正文到此结束
Loading...