Python基础(一)

Python基础(一) 

这段时间打算自学Python,因为都是从网上找的资料学习,学起来的没有那么系统,也防止学了就忘,写下此篇以便以后学习。

一、数据类型和变量

  数据类型:

  整数、浮点数、字符串、布尔值(可以用and、or和not运算)、空值(用None表示)

  变量: 

  变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

  变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头。

  python中声明变量不需要数据类型,举几个栗子(#表示注释):

  

a = 1        #a是整数
a = 1.1        #a是浮点数
a = 'Python'        #a是字符串
#等等,可见变量的声明和定义都不需要指定变量类型

  这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。

Java就是静态语言,赋值如下(//表示注释):

  

int a = 1;        //a是个整数类型变量
a = 'Java';        //报错,不能将字符串赋给整数类型的变量

  和静态语言相比,动态语言更灵活,就是这个原因。

  常量:

  所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量。但实际上你仍然可以改变它的值,它本质上还是一个变量,所以,用大写变量名来表示常量只是习惯上的用法,如果你一定要改变它的值,也没人能拦你。

二、使用list和tuple

  list  

  Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

  比如,列出班里所有同学的名字,就可以用一个list表示:

  Python基础(一)

 

 

   用len()函数可以获取list元素的个数,

  Python基础(一)

 

 

   用索引来访问list中的每个元素,起始为0,当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:

  Python基础(一)

 

 

   以此类推。

  list是一个可变的有序表,所以,可以使用append()方法直接往list中追加元素到末尾;

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

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

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

  Python基础(一)

 

 

   list里面的元素的数据类型也可以不同,也可以是另一个list:

  Python基础(一)

 

 

   要注意的是,list有四个元素,而list[3]元素就是list,,如果想要获取这个子list中的元素,将它们拆分下就行了:

  Python基础(一)

 

 

   如果想要获取“a”元素,可以写成list1[0]获取list2[2][0],因此可以将list2看作一个二维数组,类似的还有三维、四维……数组,不过很少用到。

  如果一个list中一个元素也没有,就是一个空的list,它的长度为0。

 

 

 

  tuple

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

  Python基础(一)

 

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

  因为不可变,所以tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

  如果要定义一个只有1个元素的tuple,需要这样表示

  Python基础(一)

 

   因为

  Python基础(一)

 

   这样表示的是1这个数字,而非tuple,而加一个逗号,来消除歧义;

  tuple中可以放list,tuple中的list是可变的,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!;

上一篇:Python爬虫技术--基础篇--列表和元组


下一篇:【Python入门级教程】列表、元组、字典浅谈