python基础

Python概述

1.Python的语言特点

Python使用C语言开发,但是Python不再有C语言中的指针等复杂数据类型。Python的简洁性使得软件的代码大幅度地减少,开发任务进一步简化。程序员关注的重点不再是语法特性,而是程序所要实现的任务。

python语言的主要特点

(1)简单:Python语言的关键字比较少,它没有分号代码使用空格或制表键缩进的方式来进行分隔,简化了循环语句。Python的代码简洁、短小、易于阅读。
(2)易学:Python及其容易上手,因为Python有极其简单的说明文档。
(3)免费、开源:使用者可以自由地发布这个的软件的复制,阅读它的源代码。对它进行改动,把它的一部分用于新的自由软件中。
(4)高层语言:无需考虑诸如如何管理内存一类的底层细节。
(5)可移植性:Python已经被移植在许多平台上(经过改动使它能够工作在不同的平台上),这些平台包括Linux、Windows等。
(6)解释性:Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成成为字节码的中间形式,然后再把它编译成计算机使用的机器语言并运行。
(7)面向对象:Python既支持面向过程的编程也支持面向对象的编程。
(8)可扩展性:Python是采用C语言开发的,因此可以使用C语言廓镇Python。
(9)可嵌入性:可以吧Python嵌入C/C++程序,从而使程序面向用户提供脚本功能。
(10)丰富的库:Python标准库很庞大,可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP‘电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、T可其他与系统有关的操作。

 2.Python语言的应用场景

Python之所以成为流行的编程语言,与他广泛的应用场景是分不开的。
(1)系统编程:能方便进行系统维护和管理,是很多Linux系统管理员理想的编程工具。
(2)图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
(3)数学处理:NumPy扩展提供大量与标准数学库的接口。
(4)文本处理:Python提供的re模块能支持正则表达式,还提供SGML、XML分析模块。
(5)数据库编程:Python可以操作SQL server、MYSQL、Oracle等数据库。
(6)网络编程:提供丰富的模块,支持sockets编程,能方便快速地开发分布式应用程序。
(7)Web编程:可以作为Web应用程序的开发语言。
(8)多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。
 

 Python的版本与安装

1.版本

     目前Python有版本2和版本3这两个版本,它们之间并不兼容,语法存在差别。许多Python初学者比较纠结,其实无所谓,就看个人兴趣爱好。版本之间有差异,也只是语法上有一些区别。总体思路没有任何变化。本次博文使用Python 2.7.13版本在Windows系统进行操作。(python版本2已经不更新了,新学者建议使用版本3进行学习)

2.安装

Python的安装比较简单,开发工具IDLE也会被同时安装。用户可以自行在https://www.python.org官网选择Downloads找到windos进行下载。

Python的安装方法相对简单,IDLE工具图形界面可以根据自身的需要进行需要。

Python的变量

   变量是计算机内存中的一块区域,变量可以存储任何指,而且值可以改变,变量名称可以由字母、数字和下划线组成。需要注意的是,不能使用Python的关键字,英文大小写字母敏感,第一个字符必须是字母或下划线,不可以是数字

列:qzt变量为1,qztt变量为2(查看变量使用print(查看变量的名字)

>>> qzt=1  
>>> qztt=2
>>> print(qzt)
1
>>> print(qztt)
2

 同时给多个变量赋值

>>> a,b,c=1,2,3  //同时给多个变量赋值
>>> print(a)
1
>>> print(b)
2
>>> print(c)
3

Python常用的数据类型

Python内置的数据类型有数字、字符串、元祖、列表和字典

1.数字

数字类型包括整数、浮点型、布尔型等,声明时由Python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及转换等操作。

1)整数型和浮点型

>>> q=123   //整数
>>> print (id(q))  //变量的标识可以使用id函数输出
13568046
>>> print aaa
123

>>> q=1.23   //浮点
>>> print (id(q))
13582304
>>> print q
1.23
//虽然变量名称一样,但是变量名对应的ID号不一致
//最后一次赋值的变量生效

2)布尔型

布尔型用于逻辑运算,只有两个值True(真)、False(假)表示真和假

>>> f = True
>>> print (f)
>>> if (f):
	print (1)
	
1

代码定义了变量“f=True”,if是判断语句,为真则执行“print”语句,最后输出的是1,说明语句执行成功。

>>> 3>4
False   //假
>>> 111>11
True   //真

3)Python运算符

Python中使用的算术运算符和数学运算中使用的符号基本相同,由+、-、*、/和小括号组成,运算顺序也是先乘除后加减,小括号优先。

>>> q,z = 10,2
>>> print (x+b)
12
>>> print (5+5)
10
>>> print (5*5)
25
>>> print(5+5*2)
15

还可以实现两个算术运算符,分别是:“%”(取余运算)和“**”(求幂运算)。但是Python不支持自增运算符(++)和自减运算符(- -)

>>> 9%2  //余1
1
>>> 2**3
8

2.字符串

1)使用字符串

在Python中有三种表示字符串的方式:单引号、多引号、三引号。如下:

>>> name ='北京'    //单引号
>>> address="昌平"  //双引号
>>> content='''学习使我快乐'''  //三引号
>>> print (name)
北京
>>> print(address)
昌平
>>> print (content)
学习使我快乐

单引号和双引号的作用是一样的,可以根据习惯使用,但定义多行文字时,必须使用三引号。

2)使用字符串注意事项

字符串的定义方式单引号、双引号、三引号大部分情况下作用都是一样的。但在特殊情况下使用也有所区别。

①单引号、双引号、三引号都是成对出现的,如意单引号开头就要以单引号结尾, 不能混合使用表示字符串。如下错误示范:

>>> qinziteng='秦子"  //单引号和双引号不能混合使用
SyntaxError: EOL while scanning string literal
>>> qinzieng="秦子''  //双引号和两个单引号不能混合使用
SyntaxError: EOL while scanning string literal
//单引号、双引号、三引号都是成对出现的

②如果字符串中单独出现单引号或双引号,可以使用另一种引号进行定义 

>>> t="let's go!"                //双引号定义
>>> print n
let's go!
>>> t='let"s go!'               //单引号定义
>>> print n
let"s go!
>>> t='''let's go! let"s go!'''            //三引号定义
>>> print n
let's go! let"s go!

③当引号出现在值的中间,作为普通的字符串时,可使用“\”转义符去除其他含义如:

>>> t='let\'do!' //转义字符单引号
>>> print(t)
let'do!

>>> t="let\"go!" //转义字符双引号
>>> t
'let"go!'

常用的转义字符: 

 

\(出现在行尾) 续行符
\\ 单个“\”符号
\' 单个单引号
\" 单个双引号
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车

3)字符串的其他用法

Python的字符串可以进行乘法的操作,可以用一个整数型数字和字符串进行相乘,比如:

>>> print (3*'a')    \\3倍字符串a
aaa

Python的字符串乘法非常实用,可以在写代码时带来很大的便利。比如:

>>> t= " "  //空格字符串
>>> print (t)
 
>>> print ("www")
www
>>> print (t*2+"www")    //观察www的位置
  www
>>> print (t*6+"www")   //观察www的位置
      www
>>> 

定义了一个空格字符串变量t,在输出是使用字符串乘法决定输出的格式,很容易地实现了文字前面的空格,在其他语言中如果想要实现这种效果,代码要复杂得多,Python的简洁性体现得十分明显。

3.列表

列表是Python中非常重要的数据类型,通常作为函数的返回类型。由一组元素组成,列表可以实现添加、删除和查找操作,元素值可以被修改。

1)列表的定义

列表是Python内置的一种数据结构,由中括号定义,元素以逗号分开,语法如下:

列表名 = [ 元素1,元素2,...]

如: 创建列表num,元素值为001,002,003

>>> unm=['001','002','003']

2)列表的取值

①列表中的数据是有序的,按定义时的顺序拍好,可以单独取出某一位置元素的数值,语法如下:

print (列表名 [ 索引位置 ])

 如:

>>> unm=['001','002','003']
>>> print (unm[0])
001
>>> print (unm[1])
002
>>> print (unm[2])
003

定义了列表num,存储了3个字符串。取值时用列表名+中括号,中括号中的数字表示索引位置,需要注意位置是由0开始依次递增。

②可以获取列表制定范围的一组元素,语法如下:

print (列表名[起始位置:终止位置])

如下:

>>> print(unm[0:1])  
['001']
>>> print(unm[0:2])
['001', '002']
>>> print (unm[0:3])
['001', '002', '003']
>>> print (unm[0:3])
['001', '002', '003']
>>> 
//[0:1]表示由索引0开始,索引位置1之前的元素,所以只能取到第1个元素;
//[0:2]可以取到索引2之前的元素,即列表中第1、2个元素;
//[0:3]可以取到索引2之前的元素,即列表中第1、2、3个元素;
//并不显示终止的值,比如[0:3],只显示0,1,2这三个数字。

3)修改列表元素值

可以修改制定位置的列表元素值,语法如下:

列表名[索引位置]=值

如下:

>>> qinziteng=['001','002','003']
>>> print (qinziteng)
['001', '002', '003']  //索引位置0为:001 位置1:002 位置2:003

>>> qinziteng[0]='004' //修改索引位置0的元素为004
>>> print(qinziteng)
['004', '002', '003']

4)添加列表元素

①可以把一个元素添加到列表的最后,语法如下:

列表名.append[元素值]
>>> num=['001','002','003']
>>> print (num)
['001', '002', '003']

>>> num.append('004')
>>> print(num)
['001', '002', '003', '004']

②在列表指定位置前插入新的元素,语法如下:

列表名.insert(索引位置,元素值)

比如:

>>> num=['001','002','003']
>>> num.insert(1,'004')    //将内容004插入到索引1的位置
>>> print (num)
['001', '004', '002', '003']

5)删除列表元素

语法:del 列表名[索引位置]

如:删除num里面索引为1的内容

>>> num=['001','002','003']
>>> del num[1]
>>> print (num)
['001', '003']

6)查找列表元素

使用in关键字可以查找列表中是否存在指定的数值。

语法:元素值 in 列表名

>>> num=['001','002','003']
>>> '001' in num
True 
>>> '004' in num
False

7)合并列表

多个列表可以使用“+”号进行合并,如下:

>>> num1=['001','002']
>>> num2=['003','004']
>>> qin=num1+num2
>>> print(qin)
['001', '002', '003', '004']

>>> qin=num2+num1
>>> print(qin)
['003', '004', '001', '002']

使用加号进行合并时,加号后面的列表元素会追加到新表的后面

8)重复列表

使用星号可以对列表进行重复操作,与单独字符串乘法操作相似,比如:

>>> num1=['001','002']
>>> num=num1*5
>>> print (num)
['001', '002', '001', '002', '001', '002', '001', '002', '001', '002']

9)列表常见的问题

①索引越界是使用列表时经常犯的一个错误,如列表中有3个元素,因为索引位置是0开始计算的,所以最大的索引值是2,如果索引值大于2,则表示索引是越界的,程序无法执行,比如:

>>> num1=['001','002']
>>> print (num1[5])
Traceback (most recent call last):
  File "<pyshell#131>", line 1, in <module>
    print (num1[5])
IndexError: list index out of range

那么但当使用小于0的负数索引时,不会出现错误,因为Python列表的负数索引表示的是由列表的末尾进行反向的取值,也就是最后一个元素的位置也可以使用索引-1取值,以此类推。如下:

>>> num1=['001','002']
>>> print(num[-1])
002

②当获取列表指定范围的一组元素时,不存在列表索引越界的问题。比如:

>>> num1=['001','002']
>>> num=num1[1:5]
>>> print (num)
['002']

③获取列表指定范围时可以同时使用正数和负数索引。比如:

>>> num1=['001','002','003']
>>> print (num1[0:-1])
['001', '002']

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章