1.6 初识Python程序

1-2 第一个Python程序

本节学习Python程序的书写规则及基本语法,这是Python程序设计的基础。

1.6.1 第一个Python程序

【例1-1】 任意输入一个圆的半径r,求圆面积。

程序代码如下:

            r=int(input('请输入圆的半径:')
            s=3 .14*r*r
            print('圆的面积=',s)

说明:input()函数在屏幕上显示输入窗口,参数会作为提示信息显示在屏幕上。

int()函数把输入的字符串转化为整数。

“=”是赋值运算符,把左边的数据赋值给右边的变量。

“*”表示乘法,π取3.14。

print()为打印函数,把参数显示在屏幕上;若显示多个数据,中间用“.”分隔。

1.6.2 Python程序的基本规则

1.行和缩进对齐

在Python中,语句从解释器提示符后的第一列开始,前面不能有任何空格,否则会产生语法错误。每个语句行以回车符结束。可以在同一行中使用多条语句,语句之间用分号(;)分隔。例如:

        >>>x='f=';f=100;print(x,f)
              f=100

Python通过缩进对齐反映语句的逻辑关系,从而区分不同的语句块。缩进可以由任意的空格或制表符组成,缩进长度不受限制,一般为4个空格或一个制表符。一个语句块需要保持一致的缩进量,这是Python与其他语言最大的区别。

2.多行语句

如果语句太长,可以使用反斜杠“\”将一行语句分成多行显示,例如:

            >>>x=1+1/3+1/5+1/7+1/9+\
            1/11+1/13

如果在语句中包含“()”“[]”“{}”,则不需要使用续行符,例如:

            >>>def  f1(
                  ):return 20
            >>>f1()
            20

3.Python注释

程序中单行注释使用“#”开头,注释可以用在语句的末尾,也可以单独一行;多行注释,可以使用三引号’'’把要注释的内容括起来。

1.6.3 Python print()格式化输出

(1)Python print()可以直接输出字符串、数值、布尔、列表和字典等类型的数据。例如:

            >>>print("Hello")        # 输出字符串
            Hello
            >>> print(100)           # 输出数字
            100
            >>> str='Hello'
            >>> print(str)           # 输出变量
            Hello
            >>> L=[1,2,'a']          # 列表
            >>> print(L)
            [1,2,'a']
            >>> t=(1,2,'a')        # 元组
            >>> print(t)
           (1,2,'a')
            >>> d={'a':1,'b':2}     # 字典
            >>> print(d)
            {'a':1,'b':2}

(2)Python print()也可以进行格式化输出,类似C语言中的printf()函数。

关于格式化输出,控制符如下:

①%字符:标记转换说明符的开始。

②转换标志:-表示左对齐;+表示在转换值之前要加上正负号;""(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充。

③最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。

④点(.)后跟精度值:如果转换的是实数,精度值就表示小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,则精度将从元组中读出。

⑤字符串格式化转换类型(见表1-2)。

表1-2 字符串格式化转换类型

例如:

        >>>str="the length of(%s)is %d" %('Hello',len('Hello')
        >>> print(str)
        the length of(Hello)is 5
        >>>pi=3.141592653
        >>> print('%10.3f'% pi)#字段宽10,精度3
            3.142
        >>> print("pi=%.*f"%(3,pi))
        #用*从后面的元组中读取字段宽度或精度
        pi=3.142
        >>> print('%010.3f'% pi)#用0填充空白
        000003.142
        >>> print('%-10.3f'% pi)#左对齐
        3.142
        >>> print('%+f'% pi)#显示正负号
        +3.141593

(3)如何让print不换行?

在Python中总是默认换行的:

        print(x,end='')可以不换行

(4)print(value, ..., sep='', end='\n'),其中:

end——指定在参数末尾打印什么,默认换行。

sep——指定在参数中间打印什么来间隔,默认空格。

(5)格式化输出十六进制、十进制、八进制整数:

          %x---hex十六进制
          %d---dec十进制
          %o---oct八进制
          >>>nHex=0xFF
          >>> print("nHex=%x,nDec=% d,nOct=% o" %(nHex,nHex,nHex))
          nHex=ff,nDec=255,nOct=377