第1章 入门

来源:互联网 发布:淘宝内衣真人秀怎么看 编辑:程序博客网 时间:2024/05/16 08:10


1、一个简单的程序

# calculata the area and circumference of a circle from its radius# Step1: prompt for a radius# Step2: apply the area formula# Step3: Print out the resultsimport mathradiusString=raw_input("Enter the radius of your circle:")radiusInteger=int(radiusString)circumference=2*math.pi*radiusIntegerarea=math.pi*(radiusInteger**2)print "The circumference is:",circumference,\      ",and the area is:",area

1.1 代码说明

        (1)#后是注释

        (2)math是模块名

        (3)raw_input函数将引号内的语句输出到Pythonshell并等待用户的输入响应,返回字符串

        (4)pi是math模块里赋了值的变量

        (5)int()是Python的内置函数

        (6)radiusInteger**2表示平方

        (7)反斜线符号\表示该语句将换行继续

        (8)单引号和双引号的作用相同,都用于表示字符串

1.2 小结

        (1)Python使用强制缩进的编码风格,并以此组织代码块。

        (2)Python语句结尾不用分号。

        (3)Python标明注释用#(单行)或三引号(多行)

        (4)Python语言没有入口方法(Main),代码会从头到尾顺序执行

        (5)用import引用所需要的模块

2、对象

        在Python中,认为系统中的每一个“东西”都是一个对象。

2.1 对象命名

        (1)名字必须以字母或者_开始

        (2)除了首字符,名称可以包含任何字母、数字和下划线的组合

        (3)名字长度不限

        (4)名字是区分大小写的

2.2 对象类型

        当Python创建对象时,它接收到一个标识符。当请求ID(使用id)时,得到一个系统相关的ID号。在不同的会话中或者在不同的机器中这个数字是不同的。

>>> aInt=7>>> id(aInt)22651632>>> type(aInt) # because 7 is an integer,aInt is of type int<type 'int'>>>> >>> bFloat=2.5>>> id(bFloat)  # note that bFloat's ID is different than aInt's ID22684096>>> type(bFloat)  # because 2.5 is Real,bFloat is of type float<type 'float'>>>> >>> aInt=bFloat  # associate aInt with bFloat's object>>> type(aInt)  # aInt is now of type float<type 'float'>>>> id(aInt)  # aInt's now has the same ID as bFloat22684096

        由于Python是动态语言,所以它的变量本身类型不固定。如:

>>> a=3>>> a3>>> a=3.4>>> a3.4
        Python和许多其他语言一样,对象都是某种类型的实例。如,1、27和365都是对象,具有相同的int类型。

        Python内建的数据类型有20多种,其中有些不常用到的,有些即将合并。本文将主要介绍空类型、布尔类型、数字和字符串、元组、列表、集合、字典等8种Python内置的数据类型。

2.2.1 空类型

        空类型(None)表示该值是一个空对象,比如没有明确定义返回值的函数就是返回None。空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。空类型没有任何属性,经常被用做函数中可选参数的默认值。None的布尔值为假。

2.2.2 布尔类型

        任何非零数字或非空容器(例如,字符串、元组、列表、集合和字典)的布尔值都为真,而0(任何数字类型)、None和空容器都为假。

2.2.3 数字

        包括整型、长整型(L)、浮点类型以及复数类型。

        整数长度为机器位长,通常都是32位,超过这个范围的整数就自动当长整数处理,而长整数的范围几乎完全没限制。Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。

        浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

        整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

        复数由两部分组成:实部和虚部,例如:

>>> a=3+2j>>> a.real  # 实部3.0>>> a.imag  # 虚部2.0

2.2.4 字符串

        字符串类型为str。它是第一个集合类型。是一种序列。请注意,“ ”只是一种表示方式,不是字符串的一部分。

        如“abc”是一个字符串,它包含a、b、c这3个字符。

2.2.5 列表

        列表类型为list,用符号[]表示。列表和字符串一样,也是一种序列类型。中间的元素可以是任何类型(包括列表本身,以实现多维数组),元素之间用逗号分隔。

2.2.6 元组

        元组类型为tuple,元组与列表非常相似,它用()而不是[]括起来的序列。元组比列表的速度更快,但元组是一个不可变的序列,也就是与str一样,无法在原位改变它的值。除此之外,其他属性与列表基本一致。

2.2.7 字典

        字典类型为dict。是映射类型,也是集合类型,但不是序列类型。元素对中的第一个元素是键,第二个元素是值。

2.2.8 集合

        集合类型为set,集合是含有不重复元素的数据集(类似于数学中的集合概念)。

        其实,列表的特点跟一维数组类似(当然你也可以创建类似多维数组的“列表的列表”),字典则是具有关联关系的数组(通常也叫做哈希表),而元组则是不可变的一维数组。


3、判断变量类型

      

3.1 type

        type()是Python的内置函数,type(object)返回object的类型,例如:

>>> a=1>>> type(a)<type 'int'>>>> b=2.4>>> type(b)<type 'float'>>>> c=3+2j>>> type(c)<type 'complex'>>>> d=[1,3,4,2]>>> type(d)<type 'list'>

3.2 isinstance

        isinstance()也是Python的内置函数,用来测试object的类型。

        语法:isinstance(object,classinfo)

        如果参数object是classinfo(类或类型)的实例,或者object是classinfo的子类的一个实例返回True。

        如果object不是类的实例或者一个给定类型的对象则返回结果False。

        如果classinfo不表示一个类(类型), 那么它要么是一个类(类型)的元组, 或者递归地包含这样的元组.其他的序列类型是不被允许的。否则将引发一个TypeError异常。

        例如:

>>> i=3>>> isinstance(i,float)False>>> isinstance(i,int)True>>> isinstance(i,(int,float))True>>> >>> class a(object):pass>>> class b(a):pass>>> class c(object):pass>>> d=a()>>> e=b()>>> isinstance(d,a)True>>> isinstance(e,b)True>>> isinstance(e,a)True>>> isinstance(e,(a,b,c))True

 

 

参考文献

1、《Python入门经典:以解决计算问题为导向的Python编程实践》

2、Python新员工教材

 

 

 

0 0
原创粉丝点击