残雪余香

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、程序输出,print语句

        跟C语言中的printf函数很类似,当在代码中使用print语句即可输出想要看到的变量内容,如可以先把一个字符串复制给str,然后用print函数显示变量内容,如下:
        str = "hello python"
        print str

        Python的print语句,与字符串运算符(%)结合使用,可实现字符串替换功能,如:print "%s is number %d" % ("python",1),语句将输出python is number 1
        python中的重定向:1)以标准错误输出:
        import sys
        print >> sys.stderr, 'Fatal error:invalid input!'
2)输出到日志文件:
logfile = open('D:\log.txt','a')
print >> logfile, 'Fatal error:invalid input!'
logfile.close();
 

2、程序输入,raw_input()函数
        从用户得到数据输入的最容易的方法是使用raw_input()函数,它读取标准输入,并将读取到的数据赋值给制定的变量,可以使用int()内建函数将用户输入的字符串转换成整数,如下例子:

        1)用户输入
username = raw_input('Enter your name:')
print '%s, welcome' % (username)
        2)使用内建函数int()转换
num = raw_input('Enter a number:')
print 'Doubling your number is: %d' % (int(num)*2)
注:在遇到陌生函数的时候使用函数help(函数名)来得到相应的帮助信息
 
3、注释
        和大部分脚本及Unix-Shell语言一样,Python也是用#符号标识注释,从#开始到一行结束内容均为注释。
        #one comment
        有一种,叫文档字符串特别注释,可以在模块、类或者函数的其实添加一个字符串,起到在线文档的功能,这跟Java的文档注释类似。
        def foo():
            "this is a doc string"
            return True
 
4、运算符
        python中的标准算术运算符+    -    *    /    //    %    ** (加、减、乘、除和取余是标准运算符,单斜杠作传统除法,双斜杠用作浮点除法,对结果四舍五入),传统除法是指两个操作数都是整数的话,执行地板除(取比商小的最大整数)。双星号(**)表示乘方运算符。
        python中的标准比较运算符<    <=    >    >=    ==    !=    <>表示小于、小于等于、大于、大于等于、不等、不等(Pascal风格,渐渐淘汰),运算结果返回布尔值(True/False)
        python中提供了逻辑运算符 and or not 将任意表达式连接在一起,并得到一个布尔值。
 
5、变量和赋值
        python中的变量命名规则和大多数高级语言一样,变量仅仅是一些字符开头的标识符即,字母或者下划线开头,其他的字符可以是字母,数字或者下划线,且大小写敏感。
        python是动态类型语言,也就是说不需要预先声明变量类型,变量的类型和值在赋值那一刻被初始化,赋值通过等号来执行。注:python不支持C中的自增1或者自减1运算符
 
6、数字
        python支持五种基本数字类型,其中三种是整数类型。
            int    (有符号整数)
            long    (长整数)
            bool    (布尔值)
            float    (浮点值)
            complex    (复数)
        注:其实还有第六种数字类型:decimal,用于十进制浮点数,不是内建类型,需要导入decimal模块才可以使用这种类型
 
7、字符串
        python中字符串被定义为引号之间的字符集合,支持使用成对单引号或双引号,三引号(三个连续的单引号或者双引号)可以包含特殊字符。使用 索引运算符([ ])和切片运算符([ : ])可以得到子字符串。字符串有其特殊的索引规则:第一个字符的索引是0,最后一个字符索引是-1
        加号(+)用于字符串连接运算,星号(*)则用于字符串重复。
 
8、列表和元组
        可以讲列表和元组当成普通的数组,他能保存任意类型的python对象 ,和数组一样,通过从0开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象。
        列表和元组有基础重要的区别,列表元素用中括号([  ])包裹,元素个数及元素的值可以改变。元组元素用小括号(())包裹,不可以更改(尽管他们的内容可以)。元组可以看成是只读列表。通过切片运算符([ ]和[ : ])可以得到子集,这一点与字符串的使用方法一样。测试如下:

9、字典
        字典是python中的映射数据类型,工作原理类似Perl中的关联数组或者哈希表,由键值对(key-value)构成,几乎所有类型的python对象都可以作为键,一般以数字或者字符串最为常用。值可以是任意类型的python对象,字典元素用大括号({ })包裹。

 
10、代码块及缩进对齐
        代码块通过缩进对齐表达代码逻辑而不是使用大括号,因为没有了额外的字符,程序的可读性更高,而且缩进完全清楚地表达一个语句属于哪一个代码块。当然,代码块也可以只有一个语句组成。
        python的两大特性,一是简洁,而是可读性好。
 
11、if语句
        标准的if条件语句的语法如下:
        if expression:
            if_suite
        如果表达式的值非0或者为布尔值True,则代码组if_suite被执行;否则去执行下一条语句。代码组是一个python术语,它由一条或多条语句组成,表示一个子代码块。Python与其它语言不同,条件表达式不需要括号括起来。
        if x < .0:
            print '"x" must be at least 0!'
        python当然也支持else语句,具体语法:
                if expression :
                    if_suite
                else:
                    else_suite
        同样,还支持else-if,使用elif,具体语法:
                if expression1:
                    if_suite
                elif expression2:
                    elif_suite
                else
                    else_suite
 
12、while循环
        标准的while循环条件与if一样,要求使用缩进来分割每个子代码块。如下格式
        while expression:
            while_suite
        while语句会被连续不断地循环执行,直到表达式的值变成0或者False;接着python会执行下一句代码。

 
13、for循环和range()内建函数
        python中的for循环与传统的for循环(计数器循环)不太一样,更像Shell脚本里的foreach迭代。python中的for接受可迭代对象(如:序列或者迭代器)作为参数,每次迭代其中一个元素。        

        print语句默认会给每一行添加一个换行符。只要在print语句的最后添加一个逗号(,)可以改变这个行为,如上例。注:,没有任何参数的print语句,用来输出一个换行符。
        python提供了一个range()内建函数来生成列表,接受一个数值范围,生成一个列表。
        
        range()函数经常和len()函数一起用于字符串索引,在这里我们要显示每一个元素及其索引值。如下所示:

        这些循环有一个约束,就是要么循环索引要么循环元素,但python2.3新增了enumerate()函数,解决了这个缺陷:

 
 
 
posted on 2012-12-11 14:09  残雪余香  阅读(3310)  评论(0编辑  收藏  举报