python基础学习笔记(一)

安装与运行交互式解释器

 

    在绝大多数linux和 UNIX系统安装中(包括Mac OS X),Python的解释器就已经存在了。我们可以在提示符下输入python命令进行验证(作者环境ubuntu)

fnngj@fnngj-H24X:~$ python
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Ok ! 如果敲入python命令出现以上信息时,表明我们已经安装了python 环境。

           如果没有安装,在ubuntu /Debin linux ,那么可以用下面的命令来安装Python:



 $ apt-get install python

如果是window 下的安装,以及linux 下下载源码包的安装,相信此类人问题很容易找到,这里就不具体讲解了。相信比第一次配置java环境要简单的多。

 

输入一下命令,看其是否可以正常运行。



>>> print "hello,world!"
hello,world!

注意:如果要推出交互式解释器,可以ctrl+D 

 

算法是什么?

     
 在认真编程之前,先来说说什么是计算机程序设计,简单地说,计算机程序设计就是告诉计算机做什么事。计算机可以做很多事,但它不会自己思考,需要我们告
诉它具体细节,需要用计算机能够理解的语言将算法告诉它。“算法”不过是“程序”或者“食谱”的另一种悦耳的说法----详细描述如何做某事。

小葱拌豆腐、豆腐、

首先,拿一些豆腐;(声明一个变量)

然后加入小葱在豆腐上。(两个变量相加)

如果需要特殊辣味的豆腐。(考虑特定的条件)

煮熟---每10分钟检查一次。(重复运行此指令)

食谱和算法都包含一些要素(对象、物品),以及指令(语句)。“小葱”
和“ 豆腐” 就是要素。指令包括“加入小葱在豆腐上”
等。

 

 

数字和表达式:

 

交互式python解释器可以当强大的计算器使用

>>> 1-2
-1
>>> 1+2 

>>> 32784*13 

>>> 1/2

   什么情况?1除2 不是应该等于0.5么?怎么是0呢? “/” 用于取整,不够整除,肯定就是0了,试试浮点数

>>> 7/2
3
>>> 1.0/2.0
0.5

 

试试“%” 取余

>>> 6 % 3 

>>> 6 / 3 

>>> 6 % 3 

>>> 7 / 3 

>>> 7 % 3 

>>> 13 % 9
>>> 0.75 % 0.5
0.25

看明白整除(/)与取余(%)的区别了吧。

6 / 3 刚好被2整除,所以余数(%)是0 , 13 / 9 只能带得到1个9 ,余数就是4 。

下面再试试“ **
” 幂运算(乘方)符

>>> 2*2*2 

>>> 2**3 

>>> 2**6 

>>> -3**2
-9
>>> (-3)**2

2的3次方可以用乘方符(**)表示,这样就相当方便。

乘方符的比取反(一元减运算符)的优先级高,所以-3**2 等同于-(3**2),如果想计算(-3)**2 ,就需要显式说明。

 

 

长整数

python可以处理非常大的数

>>> 100000000000000000000000
100000000000000000000000L 

>>> 100000000000000000000000L
100000000000000000000000L

普通整数在2 147 483 647 至 -2 147 483 647 之间,超出可以用长整形表示(L) ,我们也可以自己把整数转换成长整型(输入时在末尾加“L”)

 

变量

这个和其他编程语言没有任何不同,如果你从没接触过程序,相信你也很容易理解。

>>> x = 3
>>> x*2
>>> x = 5
>>> x * 2

把3 赋值给 x ,那么x 变量现在的值就是3, x 乘以 2 结果是6 ,我又把5 赋值给了 x ,那么与2相乘的结果肯定是10了。

定义变量规则:不能以数字开头,可以包含字母、数字和下划线。

 

 

语句

实际上最开始我们已经讲了语句
print
就是打印输出语句。

>>> 2*2
4 

>>> print 2*2
4

虽然结果一样,上面的是表达式,下面的是语句。

获取用户输入

有使用程序运行的过程需要用户输入,根据用户输入的内容继续执行。

>>> input("输入表达式:")
输入表达式:2*2
4

程序的第二行等待用户输入,2*2 是由用户随便输入的。下面看个更有意思点的。

>>> x=input("x:")
x:15
>>> y=input("y:")
y:32
>>> print x*y

哎~!别傻看了,和我一起敲才有意思呢! 我保证下面的你看不懂!



>>> if 1==2 : print 'one equals two'
...
>>> if 1==1 : print 'one equals one'
...
one equals one

算了,告诉你吧,如果1等于(==)2,条件是假(就是不成立),print 'one equals two' 将不被执行。

如果1等于(==)1,条件是真(成立),print 'one equals ' 将被执行。

 

 

函数

前面介绍过使用幂运算符(**)来计算乘方。事实上,可以用函数来代替运算符,这个函数就是pow
:

>>> 2**3
8

>>> pow(2,3)
8

函数就像可以用来实现特定功能的小程序一样。python的很多函数都做很奇妙的事情。我们也可以自定义函数。因此,我们通常把pow等系统提供的函数称为 内建函数。

>>> 10+pow(2, 3*5)/3.0
10932.666666666666

>>> abs(-10)
>>> 18/13
>>> round(18.4/13.7)
1.0

 

我们当热可以使用函数调用和运算符创建更复杂的表达式; abs()函数可以得到数人绝对值,round函数则会把浮点数四舍五入为最接近的整数值。

 

模块

可以把模块想象成导入到python以增强其功能的扩展。需要使用特殊人命令import来导入模块。

>>> import math
>>> math.floor(32.9)
32.0
>>> int(math.floor(32.9))
32

floor 函数的功能是取整。因为floor()函数属于math模块,所以在使用之前要先导入模块(import math),然后按照(模块.函数)的格式使用这个模块的函数。

如果想把32.9转换为整数(32)而不是浮点数(32.0),可以使用int函数。

在确定自己不会导入多个同名函数(从不同模块导入)的情况下,你可能不希望在每次调用函数的时候,都要写模块的名字。那么,可以使用import命令的另外一种形式:

>>> from math import sqrt
>>> sqrt(9)
3.0
>>> sqrt(8)
2.8284271247461903

sqrt()函数用于计算一个数的平方根。

 

保存并执行程序

本人在ubuntu
下进程学习,一个python命令就进入了交互式解释器。交互式解释器是python的强项之一,它让实时检验解决方案并且体验这门语言成为了现实。但是,在交互式解释器里面输入的一切都会在它退出的时候丢失。我们真正想做的事情是编写自己和他人都能运行的程序。

下面我们创建一个文件
root@fnngj-H24X:/hzh/python# touch hell.py
root@fnngj-H24X:/hzh/python# ls
hell.py
root@fnngj-H24X:/hzh/python# vi hell.py
输入:
print “hello,world!”

保存退出。运行
root@fnngj-H24X:/hzh/python# python hell.py
hello,world!

 

 

看!这就是一个可以一直运行的程序。 好吧!以上面的这种方式,在来做个有意思的程序。

 

打开文件,输入一下程序:
name=raw_input("what is your name?")
print "hello "+name+ " !"

保存退出,运行!
root@fnngj-H24X:/hzh/python# python hell.py
what is your name?huhu      // 这里要求用户输入自己的名字
hello huhu !

 



             不知道是因为python 语言本身的特点,还是因为我找到了一本不错的入门教程《python 基础教程(第二版)》 ,我学习这门语言的过程非常舒服。不像java,为了使程序输出一个hello word ,要写很多东西。(这里没有说java不好的意思)

 

时间: 2024-12-05 04:16:35

python基础学习笔记(一)的相关文章

python基础学习笔记(九)

python异常   python用异常对象(exception object)来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的 回溯(Traceback, 一种错误信息)终止执行: >>> 1/0 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> 1/0 ZeroDivisionError: integer

python基础学习笔记(十三)

re模块包含对 正则表达式.本章会对re模块主要特征和正则表达式进行介绍.   什么是正则表达式 正则表达式是可以匹配文本片段的模式.最简单的正则表达式就是普通字符串,可以匹配其自身.换包话说,正则表达式'python' 可以匹配字符串'python' .你可以用这种匹配行为搜索文本中的模式,并且用计算后有值并发特定模式,或都将文本进行分段.   ** 通配符 正则表达式可以匹配多于一个的字符串,你可以使用一些特殊字符创建这类模式.比如点号(.)可以匹配任何字符.在我们用window 搜索时用问

python基础学习笔记(六)

  学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事.   基本语句的更多用法   使用逗号输出 >>> print 'age:',25 age: 25 如果想要同时输出文本和变量值,却又不希望使用字符串格式化的话,那这个特性就非常有用了: >>> name = 'chongshi' >>> salutation = 'Mr' >>> greeting = 'Hello.' >>&g

python基础学习笔记(十一)

迭代器   本节进行迭代器的讨论.只讨论一个特殊方法---- __iter__  ,这个方法是迭代器规则的基础.   迭代器规则 迭代的意思是重复做一些事很多次---就像在循环中做的那样.__iter__ 方法返回一个迭代器,所谓迭代器就是具有next方法的对象,在调用next方法时,迭代器会返回它的下一个值.如果next方法被调用,但迭代器没有值可以返回,就会引发一个StopIteration异常.   这里是一个婓波那契数例,使用迭代器如下: class Fibs: def __init__

python基础学习笔记(二)

继续第一篇的内容,讲解,python的一些基本的东西.   注释   为了让别人能够更容易理解程序,使用注释是非常有效的,即使是自己回头再看旧代码也是一样. >>> #获得用户名: >>> user_name = raw_input("what is your name?") 在python 中用井号(#)表示注释.井号(#)右边的内存将不被程序执行.即使没有注释,也应该让代码本身易于理解.幸好!Python是一门出色的语言,它能帮助程序员编写易于理

python基础学习笔记(三)

序列概览 Python 包含6 种内建的序列,这里重点讨论最常用的两种类型:列表和元组. 列表与元组的主要区别在于,列表可以修改,元组则不能.也就是说如果要根据要求来添加元素,那么列表可以会更好用:而出于某些原因,序列不能修改的时候,使用元组则更为合适. 在操作一组数值的时候,序列很好用.可以用序列表示数据库中一个人的信息---第一1是姓名,第2个元素是年龄.根据上述内容编写一个列表. >>> hu=['huhu',25] 同时,序列也可以包含其他的序列,因此,构建如下一个人员的信息的列

python基础学习笔记(十二)

模块 前面有简单介绍如何使用import从外部模块获取函数并且为自己的程序所用: >>> import math >>> math.sin(0) #sin为正弦函数 0.0   模块是程序 任何python程序都可以作为模块导入.假设写如下程序,并且将它保存为以C:\python\hello.py #hello.py print "hello,world!" 下面通过python解释器调用: >>> import sys >&

python基础学习笔记(十)

魔法方法.属性 ------------------------   准备工作 为了确保类是新型类,应该把 _metaclass_=type 入到你的模块的最开始. class NewType(Object): mor_code_here class OldType: mor_code_here 在这个两个类中NewType是新类,OldType是属于旧类,如果前面加上 _metaclass_=type ,那么两个类都属于新类.     构造方法   构造方法与其的方法不一样,当一个对象被创建会

python基础学习笔记(五)

字符串基本操作 所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最小值和最大值)对字符串同样适用,前面已经讲述的这些操作.但是,请注意字符串都是不可变的.   字符串的方法: 字符串从string 模块中"继承"了很多方法,这里只介绍一些特别有用的.   1.find  find 方法可以在一个较长的字符串中查找子字符串.它返回子串所在位置的最左端索引.如果没有找到则返回-1. >>> 'with a moo-moo here. and a moo-mo