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

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

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

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

1.输出语句print()

#!/usr/bin/env python
#coding=UTF-8

#默认python编码是ASCII编码 要支持中文
#加上coding=UTF-8的声明

#输出语句
print (‘你好 Python !!‘)

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

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

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"
print a;

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

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

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

3.循环语句

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

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

4.函数定义 def

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

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

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

print square_sum(1,3)

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

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

def change_list(b):
    b[0] += 1
    return b
print change_list(b)
print b

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

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

5.类定义 面向对象

#定义一个父类 鸟类
#类中成员方法的第一个参数必须是调用该方法的对象本身
#习惯上使用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)

6.继承

子类继承父类:

#子类小鸡继承父类 鸟类 (单继承)
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() 用来查询一个类或者对象的所有属性

7.增强类中对运算支持

#自定义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])

8.字典类的使用

#词典(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,变为空的词典{}

时间: 2024-11-06 11:33:10

python初体验之基础语法(一)的相关文章

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

所有测试语句基于Python 2.7.6 , Ubuntu 14.04 LTS 自学Python,如果哪里说的不对,还请指正.谢谢. 示例绝大部分来自博客园vamei的python教程 1.文件读写操作 一. 按字节读取文件 #!/usr/bin/env python #coding=UTF-8 #默认python编码是ASCII编码 要支持中文 #加上coding=UTF-8的声明 # open()打开文件 r只读 w写入 a追加 r+ w+ a+模式 # a+方式打开文件 指针指向结尾 ,

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

所有测试语句基于Python 2.7.3 , Ubuntu 12.04 自学Python,如果哪里说的不恰当,还请指正.谢谢. 示例绝大部分来自博客园vamei的python教程 1.循环对象 #!/usr/bin/env python #coding=UTF-8 #包含一个next()方法 每次循环调用next() #直到StopIteration异常出现 停止调用next()方法 f = open('test.txt') for line in f: print line #生成器 自定义一

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

所有测试语句基于Python 2.7.1 自学Python,如果哪里说的不恰当,还请指正.谢谢. 示例绝大部分来自博客园vamei的python教程 1.函数参数  关键字传递 #! /usr/bin/env python # coding=UTF-8 # 函数参数关键字传递 根据每个参数的名字传递参数-->无需遵照位置对应关系 # 可以与位置传递混用,但是直接的值传递的参数要出现在关键字参数之前 def sum(a, b, c): return a + b + c print "sum(

ipython及Python初体验

阅读目录: Python环境体验 Python编辑器 ipython安装 Python提示符 Python初体验 print和变量 变量操作 内建函数:方法 数学运算:简单算术.随机数 关于模块 一.Python环境体验 1.常见Python编辑器介绍 1.在linux下使用vim 编辑Python脚本时,推荐--没有道理-- 2.Eclipse 3.notepad++:挺好用的一款编辑工具 4.IDLE (官方自带)交互式的开发语言集成环境 5.pycharm  第三方的工具:ipython

01-Python学习笔记-基础语法

Python标识符 -d           在解析时显示调试信息 -O           生成优化代码 ( .pyo 文件 ) -S           启动时不引入查找Python路径的位置 -v            输出Python版本号 -X           从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时. -c cmd     执行 Python 脚本,并将运行结果作为 cmd 字符串. file           在给定的python文件执行python脚本. P

python初体验之小小爬虫

小月月是个懒家伙,博客更新好慢... 前几天拿到某公司的面试题,要求在Linux/Ubuntu/Debian/Suse/Centos下用python2.7开发一个爬虫,抓取百度新闻搜索结果的前三页标题+url. 这可把对python一窍不通的小月月难住了,肿么办呢...哦,最简单有效直接的方法就是网上查资料,ok,go~! 首先感谢http://www.1point3acres.com/bbs/thread-83337-1-1.html跟http://blog.csdn.net/column/d

Python初体验

本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 作业需求 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语

第三节 Hello world --python初体验

祭旗--hello world 据说简单优雅.功能强大是python的魅力所在,这里看到简单了,优雅是什么样的,接下来的学习中慢慢体会吧! 1 print ("Hello world") 数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种:整数型.浮点型.

python初体验-常见错误类型

我们写代码的过程中,难免会因为粗心.手误.知识点掌握不熟练等原因,导致程序运行报错无法运行或运行结果与预期不符. 看一下比较常见的两种 bug: SyntaxError:语法错误,表示你写的代码不符合 Python 的语法规范.比如字符串使用了中文引号等. NameError:名字错误,常见于使用了未定义的变量. 例子:print(‘python编程’) # 报错:SyntaxError: bad token on line 1 # 第一行的字符串使用了中文引号 # debug 后代码如下 pr