第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.4Python和许多其他语言一样,对象都是某种类型的实例。如,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新员工教材
- 第1章 入门
- 第1章 入门
- 第1章 入门
- XSLT入门 -- 第1章 入门篇
- XSLT入门 -- 第1章 入门篇
- 第1章 快速入门
- 第1章 流程入门
- 第1章 程序设计入门
- 第1章 快速入门
- 第1章 程序设计入门
- 第1章 程序设计入门
- 第1章 入门提示
- 第1章 Openwrt入门
- 第1章 Git入门
- 第1章 对象入门
- 《C#入门经典》第1章-第7章要点
- JSP入门——第1章 Web应用入门
- Android从入门到精通第1章:快速入门
- BZOJ 1800 AHOI2009 fly 飞行棋 暴力
- 单片机小白学步系列(二十一) IO口:基本的LED和按键操作
- 反编译工具Depends---dll和exe反编译工具
- 修改const指针所指向的值
- 内核启动,nand flash分区信息显示ftl_cs: FTL header not found问题解决
- 第1章 入门
- 我用到的Mac .bash_profile
- 如何在Eclipse中开启代码自动提示功能
- Android Root方法原理解析及Hook(二) udev漏洞
- 解析中国天气网的json代码:
- 跟我一起写 Makefile
- 一元三次方程求解c++实现
- freebsd ntpd 时间同步
- FindBugs错误修改指南