Python学习笔记(0)
Python 是什么类型的语言
Python 是脚本语言
Python 下载地址:https://www.python.org/downloads/
Python 版本:Python 3.4.2 - 64bit
脚本语言 (Scripting language) 是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,使得脚本语言通常比 C 语言、C++ 语言 或 Java 之类的系统编程语言要简单容易。
也让脚本语言另有一些属于脚本语言的特性:
- 语法和结构通常比较简单
- 学习和使用通常比较简单
- 通常以容易修改程序的“解释”作为运行方式,而不需要“编译”
- 程序的开发产能优于运行性能
一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个 Shell 脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组串行。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令串行的指令,还可以编写更复杂的程序。
IDLE 是什么?
IDLE 是一个 Python Shell,shell 的意思就是“外壳”,基本上来说,就是一个通过键入文本与程序交互的途径!像我们 Windows 那个 cmd 窗口,像 Linux 那个黑乎乎的命令窗口,他们都是 shell,利用他们,我们就可以给操作系统下达命令。同样的,我们可以利用 IDLE 这个 shell 与 Python 进行互动。安装 Python 后,在搜索中直接搜索 IDLE 就会显示了。
打开 IDLE,看到”>>>”这个提示符,“它”的含义是告诉我们,Python 已经准备好了,在等着键入 Python 指令呢。
我们可以试着键入指令:
>>> print("I love Python")
可以看到,Python 的 IDLE 直接打印了字符串 I love Python
可以试一下键入错误的指令:
>>> System.out.println("I love Python"); Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> System.out.println("I love Python") NameError: name 'System' is not defined
发现 IDLE 直接给我们报错了,并且很友善的提示我们,NameError: name 'System' is not defined,System 这个东西没有定义
试着键入 Python2 的语法:
>>> print "I love Python" SyntaxError: Missing parentheses in call to 'print'
它会告诉我们,是一个错误的语法。
键入了很多错误的信息,试着键入正确的信息,比如计算:
>>> print(5 + 8) 13
在 IDLE 中,打印计算,甚至可以不用 print() 函数来打印,可以直接输入数字计算,如:
# 相加 >>> 5 + 8 13
# 相减,并且输出负数
>>> 5 - 8
-3# 相减, 输出是正数
>>> 9 - 5
4# 相乘
>>> 2 * 3
6# 相除,输出是个浮点型的小数
>>> 9 / 3
3.0# 如果想要输出整数,需要用两个除号“//”
>>> 9 // 3
3不仅可以当计算器来用,还可以处理非常大的数字计算:
>>> 1234567890123456789 * 9876543210987654321 12193263113702179522374638011112635269
还可以用来字符串相加:
# 将字符串相加 >>> 'I' + 'love' + 'Python' 'IlovePython'
# 字符串相加后太丑了,我们在单词后面加上空格
>>> 'I' + ' ' + 'love' + ' ' + 'Python' + '!'
'I love Python!'# 中文与英文相加
>>> "我" + "爱" + "Python"
'我爱 Python'Python 不仅就字符串拼接、相加这么简单,还可以使用字符串相乘:
>>> 'I love Python! ' * 3 'I love Python! I love Python! I love Python! '
当然,并不是所有字符串相乘都可以,比如字符串乘以字符串,就会报错,Python 还没有那么只能,字符串的除法,减法都会报错:
# 字符串与数字相加,报错 >>> 'I love Python' + 5 Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> 'I love Python' + 5 TypeError: Can't convert 'int' object to str implicitly
# 字符串与字符串相乘,报错
>>> 'I love Python!' * 'love'
Traceback (most recent call last):
File "<pyshell#40>", line 1, in <module>
'I love Python!' * 'love'
TypeError: can't multiply sequence by non-int of type 'str'
# 字符串相减,报错
>>> 'I love Python!' - 'love'
Traceback (most recent call last):
File "<pyshell#41>", line 1, in <module>
'I love Python!' - 'love'
TypeError: unsupported operand type(s) for -: 'str' and 'str'# 字符串相除,报错
>>> 'I love Python!' / 3
Traceback (most recent call last):
File "<pyshell#42>", line 1, in <module>
'I love Python!' / 3
TypeError: unsupported operand type(s) for /: 'str' and 'int'为什么 >>>print('I love fishc.com' * 5) 可以正常执行,但 >>>print('I love fishc.com' + 5) 却报错?
在 Python 中不能把两个完全不同的东西加在一起,比如说数字和文本,正是这个原因,>>>print('I love Python' + 5) 才会报错。这就像是在说“苍井空加上 5 会是多少?”一样没有多大意义!不过乘以一个整数来翻倍就具有一定的意义了,前边的例子就是将 "I love Python" 这个字符串打印五次。
print() 的作用是什么?
说了这么多,都把 print()忘记了,那么 print() 是什么呢?
print()会在输出窗口中显示一些文本。我们可以在 IDLE 中输入 help(print) 来寻求帮助
其中比较有用的是 print 的内置方法 sep 和 end
sep--- 在字符串之间插入值,默认是一个空格,如:
# print 中,每个字符串是用“,”逗号隔开的,默认是一个空格 >>> print('我是第一个字符串', '我是第二个字符串') 我是第一个字符串 我是第二个字符串
# 如果我想让两个字符串中没有空格,就可以使用 sep 了
>>> print('我是第一个字符串', '我是第二个字符串', sep='')
我是第一个字符串我是第二个字符串# 当然,也可以使用其他的文字来隔开字符串。
>>> print('我是第一个字符串', '我是第二个字符串', sep='--- 我的存在,就是为了隔开你们 ---')
我是第一个字符串--- 我的存在,就是为了隔开你们 ---我是第二个字符串# 使用逗号来隔开字符串,为了效果明显,估计多加了很多逗号 ~
>>> print('I', 'love', 'Python', sep=',,,,,')
I,,,,,love,,,,,Python# \n 是换行符
>>> print('我是第一个字符串', '我是第二个字符串', sep='\n')
我是第一个字符串
我是第二个字符串end--- 在字符串结尾追加一个值,默认是换行,如:
# 在 IDLE 中,输入 print 点击回车,就直接输出了,如果使用分号,就可以在一行写上两个指令在输出,Python 的 IDLE 是不是很方便 ~ >>> print('我在第一行!');print('我在第二行!') 我在第一行! 我在第二行!
# 如果不加 end 的话,最后一个值默认是 \n,但是如果加了 end=‘’,就把 \n 给去掉了,变成一个空的字符串,所以两个 print 就可以在一行显示了 ~
>>> print('我在第一行!', end='');print('我在第二行!')
我在第一行!我在第二行!>>> print('我在第一行!', end='--- 就是不让换行 ---');print('我在第二行!')
我在第一行!--- 就是不让换行 --- 我在第二行!如果我需要在一个字符串中嵌入一个双引号,可以这样做:
# 我们在 "双引号" 中,加上 "双引号" 的字符串,Python 会以为这段话已经结束了,以为下个 "双引号" 开始输入下一段话,所以 '它' 会很善解人意的提示你“语法错误” >>> print("Python 我非常喜欢"它",你们喜欢吗?") SyntaxError: invalid syntax
# 我们可以使用反斜杠来把 "双引号" 给注释掉
>>> print("Python 我非常喜欢 "它",你们喜欢吗?")
Python 我非常喜欢"它",你们喜欢吗?# 我们可以在 '单引号' 中输入字符串,然后字符串中需要加 "双引号" 的位置使用双引号
>>> print('Python 我非常喜欢 "它",你们喜欢吗?')
Python 我非常喜欢"它",你们喜欢吗?# 当然,我们也可以在双引号中,输入单引号
>>> print("What's your name? \nMy name's Python")
What's your name?
My name's Python输入 >>>'Python' 与输入 >>>print('Python') 有何不同?
直接输入是将结果及类型打印到屏幕上,而 print 是将结果打印到屏幕上,自己试试并观察结果!
# 输出结果是有引号的 >>> 'Python' 'Python'
# 输出结果没有引号
>>> print('Python')
Python如果在文本编辑器中,上面的问题就明显了。比如在 IDLE 中,使用“Ctrl + N”来打开文本编辑器
直接打印 'Python',点击 F5 运行,发现 IDLE 中,什么都没有
加上 print() 之后,就可以打印出来了
设置环境变量
设置你的操作系统的环境变量,以便可以轻松进入 Python 环境
反键计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量选择 "Path"-> 编辑 -> 在变量值最后加上 Python 的安装目录
设置好了,在运行中键入 CMD,输入 python,可以测试。执行 python 后,就像 IDLE 一样。不过是个黑乎乎的窗口。
为什么我们要使用 Python3?
为什么我们要使用 Python?Python2 到底有什么问题?看起来很多程序员依然在使用 Python2?
确实还有相当多的程序员在使用 Python2,不过 Python3 才是 Python 发展的未来,就像 XP 和 WIN7 一样。其实 Python3 中的新特性确实很妙,很值得进行深入学习!感觉如果了解了 Python3,Python2 的代码阅读对于你来说根本不成问题!