在本章中,你将学习可在Python程序中使用的各种数据,还将学习如何将数据存储到变量中,以及如何在程序中使用这些变量。
1、Centos7安装Python3.5
安装python3.5依赖包
[root@python-yankerp ~]# yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
拉取Python官网python.tar包
[root@python-yankerp ~]# wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
解压Python-3.5.1.tgz,把Python-3.5.1复制到/usr/local/目录下
[root@python-yankerp ~]# tar zxf Python-3.5.1.tgz [root@python-yankerp ~]# mv Python-3.5.1 /usr/local/
进入解压目录,配置并编译
[root@python-yankerp ~]# cd /usr/local/Python-3.5.1/ [root@python-yankerp Python-3.5.1]# ./configure && make && make install
创建软连接
[root@python-yankerp Python-3.5.1]# ln -s /usr/local/bin/python3.5 /usr/bin/python3
此时我们Python3.5安装成功,查看版本如下:
为什么做软连接不直接写成Python呢? 因为在centos7中默认已经安装了Python2.7,为了不引起冲突,起名为python3
这样以来我们python2.x以及3.x都互不影响如下:
二、运行hello_world.py时发生的情况
创建一个hello_world.py文件写入一句代码如下:
cat hello_world.py
#!/usr/bin/env python # -*- coding: utf-8 -*- print ("Hello Python world!")
运行上述代码时,你会看到如下输出:
Hello Python world!
运行文件hello_world.py时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器 来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print 时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。
编写程序时,编辑器会以各种方式突出程序的不同部分。例如,它知道print 是一个函数的名称,因此将其显示为蓝色;它知道“Hello Python world!”不是Python代码,因此将其显示为橙色。这种功能称为语法突出 ,在你刚开始编写程序时很有帮助。
三、变量
下面来尝试在hello_world.py中使用一个变量。在这个文件开头添加一行代码,并对第2行代码进行修改,如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- message = "Hello Python world" print (message)
输出结果如下:
Hello Python world!
我们添加了一个名为message 的变量 。每个变量都存储了一个值 ——与变量相关联的信息。在这里,存储的值为文本“Hello Python world!”。
添加变量导致Python解释器需要做更多工作。处理第1行代码时,它将文本“Hello Python world!”与变量message 关联起来;而处理第2行代码时,它将与变量message 关联的值打印到屏幕。
下面来进一步扩展这个程序:修改hello_world.py,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加下面两行代码:
#!/usr/bin/env python # -*- coding: utf-8 -*- message = "Hello Python world" print (message) message = "Hello Python yankerp!" print (message)
输出结果如下:
Hello Python world
Hello Python yankerp!
在程序中可随时修改变量的值,而Python将始终记录变量的最新值。
四、变量的命名和使用
在Python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。
变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print
变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着你编写的程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名。
注意 :就目前而言,应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。
五、使用变量时避免命名错误
程序员都会犯错,而且大多数程序员每天都会犯错。虽然优秀的程序员也会犯错,但他们也知道如何高效地消除错误。下面来看一种你可能会犯的错误,并学习如何消除它。
我们将有意地编写一些引发错误的代码。请输入下面的代码,包括其中以粗体显示但拼写不正确的单词mesage:
#!/usr/bin/env python # -*- coding: utf-8 -*- message = "Hello Python world" print (messge)
输出结果如下:
在这个示例中,第2行的变量名message 中遗漏了字母a。Python解释器不会对代码做拼写检查,但要求变量名的拼写一致。
六、字符串
大多数程序都定义并收集某种数据,然后使用它们来做些有意义的事情。鉴于此,对数据进行分类大有裨益。我们将介绍的第一种数据类型是字符串。字符串虽然看似简单,但能够以很多不同的方式使用它们。
字符串 就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,如下:
"this is a yankerp" 'this is a zhangsan'
这种灵活性让你能够在字符串中包含引号和撇号:
七、使用方法修改字符串的大小写
对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写。请看下面的代码,并尝试判断其作用:
#!/usr/bin/env python # -*- coding: utf-8 -*- name = ("ada lovelace") print (name.title())
输出结果如下:
Ada Lovelace
在这个示例中,小写的字符串”ada lovelace” 存储到了变量name 中。在print() 语句中,方法title() 出现在这个变量的后面。方法 是Python可对数据执行的操作。在name.title() 中,name 后面的句点(. )让Python对变量name 执行方法title() 指定的操作。每个方法后面都跟着一对括号,这是因为方法通常需要额外的信息来完成其工作。这种信息是在括号内提供的。函数title() 不需要额外的信息,因此它后面的括号是空的。
title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,因为你经常需要将名字视为信息。例如,你可能希望程序将值Ada 、ADA 和ada视为同一个名字,并将它们都显示为Ada
还有其他几个很有用的大小写处理方法。例如,要将字符串改为全部大写或全部小写,可以像下面这样做:
#!/usr/bin/env python # -*- coding: utf-8 -*- name = ("Ada lovelace") print (name.upper()) print (name.lower())
输出结果如下:
ADA LOVELACE
ada lovelace
存储数据时,方法lower() 很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要将字符串先转换为小写,再存储它们。以后需要显示这些信息时,再将其转换为最合适的大小写方式。
八、合并(拼接)字符串
在很多情况下,都需要合并字符串。例如,你可能想将姓和名存储在不同的变量中,等要显示姓名时再将它们合而为一:
#!/usr/bin/env python # -*- coding: utf-8 -*- first_name = ("yan") last_name = ("kerp") full_name = first_name + " " + last_name + "!" print (full_name)
输出结果如下:
yan kerp!
Python使用加号(+ )来合并字符串。在这个示例中,我们使用+ 来合并first_name 、空格和last_name ,以得到完整的姓名
这种合并字符串的方法称为拼接 。通过拼接,可使用存储在变量中的信息来创建完整的消息。下面来看一个例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- first_name = ("yan") last_name = ("kerp") full_name = first_name + " " + last_name + "!" print ("hello, " + full_name.title() + "!")
输出结果如下:
hello, Yan Kerp!!
在这里使用了方法title() 来将姓名设置为合适的格式。这些代码显示一条格式良好的简单问候语:
可以使用拼接来创建消息,再把整条消息都存储在一个变量中:
#!/usr/bin/env python # -*- coding: utf-8 -*- first_name = ("yan") last_name = ("kerp") full_name = first_name + " " + last_name + "!" yankerp = ("hello, " + full_name.title() + "!") print (yankerp)
输出如下:
hello, Yan Kerp!!