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

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

所有测试语句基于Python 2.7.3 ,Ubuntu12.04

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

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

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

打印一条语句,用单引号双引号都可以,但不能混用单引号和双引号。

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

如果你想输出的内容中既包含单引号,又有双引号,该这么办呢,

这时候就需要使用转义字符了,转义字符\可以转义很多字符,

比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

print'I\'m a \"dog\"!'

像上边这样,使用转义字符 \' \" ,输出 I'm a "dog" !

如何从命令行接收字符串,只需调用 raw_input() 即可

name = raw_input('please enter your name:')print'name=', name

2.条件选择语句 if elif else以下代码不再重复 #!/usr/bin/env python #coding=UTF-8

#条件选择语句if(3>3):

a="Are you happy???"elif(2>3):

a="bbbbbbbbb"else:

a="cccccccc"printa;

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

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

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

3.循环语句#循环语句forain[1,2,3,[4,5]]:printa

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

4.函数定义 def#函数定义 是否为闰年defisLeafYear(year):returnyear%400==0or(year%100!=0andyear%4==0)printisLeafYear(2004)

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

#函数定义 return可以返回多个值defsquare_sum(a,b):

c= a**2 + b**2returnc,a,bprintsquare_sum(1,3)

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

#将表b作为参数传递给函数b=[1,2,3]defchange_list(b):

b[0]+= 1returnbprintchange_list(b)printb

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

#值传递 原整数a的值不发生变化 试着将函数的参数换成b或者c就可以理解了。a = 1defchange_a(a):

a= a + 1returnaprint"函数的返回值是:",change_a(a)print"原整数a的值是:",a

5.类定义 面向对象#定义一个父类 鸟类#类中成员方法的第一个参数必须是调用该方法的对象本身#习惯上使用self,也可使用it、this等等#括号中为object是不是说明所有的类都是继承自Object ??classBird(object):#有点类似构造函数 是两个下划线initdef__init__(self,something):print'I am a bird.',something

have_feather=True

way_of_reproduction='egg'defmove(self,dx,dy):

position=[0,0]

position[0]= position[0] +dx

position[1] = position[1] +dyreturnposition#生成一个叫夏天的小鸟的对象 这里不需要用类似高级语言的new关键字summer = Bird('call me summer!')printsummer.way_of_reproductionprintsummer.move(1,2)

6.继承子类继承父类:

#子类小鸡继承父类 鸟类 (单继承)classChicken(Bird):

way_of_move='walk'possible_in_KFC=True#子类大雁继承父类 鸟类 (单继承)classDaYan(Bird):def__init__(self,name):

self.name=name

way_of_move='fly'possible_in_KFC=False#重写父类move方法defmove(self,dx,dy):

position=[0,0]

position[0]= position[0] + dx**dx

position[1] = position[1] + dy**dyreturnpositiondefprint_name(self):print"My name is",self.name#现在summer是大雁了summer = DaYan("doudou!")printsummer.print_name()printsummer.have_featherprintsummer.move(2,3)printdir(summer)#dir() 用来查询一个类或者对象的所有属性

7.增强类中对运算的支持#自定义list子类 添加对类似 [1,2,3] - [2,3]运算的支持#这种自带两个__下划线的方法 是特殊方法classSuperList(list):def__sub__(self,b):#self是SuperList的对象,可以使用类似 list[:] 的方式表示整个list对象a =self[:]

b=b[:]#如果list包含b中的元素,就移除,直到循环结束 len()返回list中元素个数whilelen(b) >0 :

element_b= b.pop()#pop() 从list中弹出最后一个元素值,并返回他的值ifelement_bina :

a.remove(element_b)returna#这里的-减号运算符代表__sub__() 方法,类似+ 代表__add()__#特殊方法和运算符相等价printSuperList([1,2,3,4]) - SuperList([1,2])

8.字典类的使用#词典(dictionary)类 容器类 使用大括号dic = {}#空的词典printdic,type(dic)

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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航