学习笔记<一>

来源:互联网 发布:跨境电子商城源码 编辑:程序博客网 时间:2024/06/06 00:52

学习笔记  <一>

得意首先要明确,python只用来写, 编辑器用来保存,命令行用来验证。

 

得意1.      进入Windows环境cmd命令行时要输入python来进入,随后即可编程。

 

得意2.      可以在文本编辑器里面保存一个.py文件,退出文本编辑器,可以在命令行输入文件名,即可找到保存的东西。

 

得意3.python的变量不需要像c一样需要声明,直接可以输入。而且数据类型是由python自动决定的。

学习一个内置函数type()

eg :>>>a=10

    >>>print a

    >>>print type(a)

那么就会有如下输出:

    10

    <type 'int'>

 

得意4.回收变量名

如果你想让a存储不同的数据,不需要删除原有的变量就可以直接进行赋值。

    >>>a=1.3

    >>>print a ,type(a)                           //由此可以看到print的另一个用法,后跟多个输出,用逗号分开。

那么就会有如下输出:1.3<type 'float'>

 

得意5.常用的数据类型

  变量        a=10         a=1.3             a=True             a=‘Hello!’

 

数据类型    int(整数)  float(浮点数)  真值(True/False)     字符串(也可以是双引号)

 

得意6.序列

sequence(序列)是一组有顺序的元素的集合

之前所说的基本数据类型,都可以作为序列的元素。

 

序列有两种  :tuple(定值表;也有翻译为元祖) 和  list

eg :>>>s1=(2,1.3,'love',5.6,False)                     //s1是一个tuple

     >>>s2=(Ture,5,‘smile’)                          //s2是一个list

tuple和list的主要区别是,一旦建立,tuple的各个元素不可在变更,而list可以。

     >>>print s1,type(s1)

     >>>print s1,type(s2)

一个序列作为另一个序列的元素

     >>>s3=[1,[3,4,5]] 空序列>>>s4=[]

 

得意7.List

1).元素的引用

序列元素的下标从 0 开始:

>>>prints1[0]>>>prints2[2] >>>prints3[1][2]

 如果要取最后一个元素,除了计算索引位置外,还可以用-1 做索引,直接获取最后一个元素,以此类推,可以获取倒数第 2 个、倒数第 3 个。

 list是一个可变的有序表,所以,可以往 list 中追加元素到末尾:

>>>s2.append(10)

也可以把元素插入到指定的位置,比如索引号为 1 的位置:

>>>s2.insert(1,15)

要删除 list 末尾的元素,用 pop()方法:

>>>s2.pop()

要删除指定位置的元素,用 pop(i)方法,其中 i 是索引位置:

>>>s2.pop(1)

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

>>>s1[1]=20

list 里面的元素的数据类型也可以不同。

 

2).其他引用方式

切片操作:

范围引用:基本样式 [下限:上限:步长] >>>prints1[:5] # 从开始到下标 4 (下标 5 的元素 不包括在内)>>>prints1[2:] # 从下标 2 到最后 >>>prints1[0:5:2] # 从下标0到下标4(下标5不包括在内), 每隔2取一个元素(下 标为 0,2,4 的元素)>>>prints1[2:0:-1] # 从下标 2 到下标 1

从上面可以看到,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。

尾部元素引用:

>>>prints1[-1] # 序列最后一个元素>>>prints1[-3] # 序列倒数第三个元素同样,如果 s1[0:-1], 那么最后一个元素不会被引用(再一次,不包括上限元素本身)。

 

得意8.tuple

另一种有序列表叫元组:tuple。tuple 和 list 非常类似,但是 tuple 一旦初始化就不能修改,比如列出同学的名字:

>>>classmates=('Michael','Bob','Tracy')现在,classmates 这个 tuple 不能变了,它也没有 append(),insert()这样的方法。其他获取元素的方法和 list 是一样的,你可以正常地使用 classmates[0],classmates[-1],但不能赋值成另外的元素。

不可变的 tuple 有什么意义?因为 tuple 不可变,所以代码更安全。如果可能,能用 tuple 代替 list 就尽量用 tuple。 tuple 的陷阱:当你定义一个 tuple 时,在定义的时候,tuple 的元素就必须被确定下来,比如:

>>>t=(1,2)>>>t(1,2) 如果要定义一个空的tuple,可以写成(): >>>t=()>>>t()

但是,要定义一个只有 1 个元素的 tuple,如果你这么定义: >>>t=(1)>>>t1 定义的不是 tuple,是 1 这个数!这是因为括号()既可以表示 tuple,又可以表示数学公式中 的小括号,这就产生了歧义,因此,Python 规定,这种情况下,按小括号进行计算,计算结果自然是 1。所以,只有 1 个元素的 tuple 定义时必须加一个逗号,,来消除歧义:

>>>t=(1,)>>>t(1,)``Python在显示只有 1 个元素的 tuple 时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

 

得意9字符串是元祖

字符串也是一种特殊的元素因此可以执行元祖的相关操作。

 >>>str=‘abcde’

 >>>print str[2:4]

 

得意10.运算

 a 数学运算

 >>>print  后边紧跟 1+9加法   1.3-4减法   *乘法   /除法   **乘方  10%3求余数(10=3*+1,所以余一)

 b判断 判断真假 返回True /False

 >>>print  后边紧跟(eg: 5==6) ==相等  !=不等 

 >>>print5 in[1,3,5]  5是list[1,3,5] 的一个元素。

 

 

得意11.逻辑运算

True/False 之间的运算:>>>printTrueandTrue,TrueandFalse #and,“与”运算, 两者都为真才是真>>>printTrueorFalse #or,"或"运算, 其中之一为真即为真>>>printnotTrue #not,“非”运算,取反

可以和上一部分结合做一些练习,比如:

>>>print5==6or3>=3

 

得意12.缩进和选择

1、缩进

Python 最具特色的是用缩进来标明成块的代码。我下面以 if 选择结构来举例。if 后面跟随条件,如果条件成立,则执行归属于 if 的一个代码块。先看 C 语言的表达方式(注意,这是 C,不是 Python!) if(i>0) { x=1; y=2; } 如果 i>0 的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于 if。在 Python 中,同样的目的,这段话是这样的: ifi>0: x=1 y=2 在 Python 中,去掉了 i>0 周围的括号,去除了每个语句句尾的分号,表示块的花括号也消失了。

多出来了 if...之后的 :(冒号), 还有就是 x =1 和 y=2 前面有四个空格的缩进。通过缩进, Python 识别出这两个语句是隶属于 if。 Python 这样设计的理由纯粹是为了程序好看。

 

得意13.if 语句

写一个完整的程序,命名为 ifDemo.py。这个程序用于实现 if 结构。

i=1 x=1ifi>0: x=x+1printx 用 cd 命令进入该文件所在目录,然后输入命令运行它: $pythonifDemo.py # 运行程序运行到 if 的时候,条件为 True,因此执行 x=x+1。 printx 语句没有缩进,那么就是 if 之外。如果将第一句改成 i=-1,那么 if 遇到假值 (False), x=x+1 隶属于 if, 这一句跳过。printx 没有缩进,是 if 之外,不跳过,继续执行。

这种以四个空格的缩进来表示隶属关系的书写方式,以后还会看到。强制缩进增强了程序的可读性。

复杂一些的 if 选择: i=1 ifi>0: print'positivei' i=i+1elifi==0: print'iis0' i=i*10else:print'negativei' i=i-1 print'newi:',i 这里有三个块,分别属于 if,elif,else 引领。 Python 检测条件,如果发现 if 的条件为假,那么跳过后面紧跟的块,检测下一个 elif 的条件; 如果还是假,那么执行else 块。

通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。

整个 if 可以放在另一个 if 语句中,也就是 if 结构的嵌套使用: i =5ifi>1: print'ibiggerthan1' print'good' ifi>2:print'ibiggerthan2' print'evenbetter' ifi>2 后面的块相对于该 if 缩进了四个空格,以表明其隶属于该 if ,而不是外层的 if 。

0 0
原创粉丝点击