Python学习手册之Python介绍、基本语法(一)
一、什么是python?
python是一种高级的编程语言。它适合编写一些应用程序,比如:网站编程,脚本编程,科学计算和最近非常热门的AI(人工智能)。目前,Google,腾讯,百度,阿里巴巴,豆瓣都在使用它做为编程语言。
python是解析型语言。程序不需要编译,程序在运行时才翻译成机器语言并执行。
为什么选用Python?Python是一种极少数能兼具简单与功能强大的编程语言。完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。
到现在为止Python有三个不同的大版本,1.x,2.x和3.x。大版本主要是功能模块有大的变动,比如增加多个模块或者整体架构发生变化。在每个大版本的下面有一些小版本的变动,小版本的更新是为了增强性能,特性和修复Bug,比如从3.5升级到3.6。
目前使用的基本是2.x和3.x版本,目前官方确认Python2.x版本将在2020年1月1日终止支持。要确认自己电脑当前环境下的Python版本,可在命令行方式下输入:Python -V
解析器是一种电脑程序,能够把高级编程语言,像Python,一行一行直接转译成机器语言并运行。
在编程语言的世界里,每一语言都有其编程规范,而所有的语言的语法都是采用英语做为关键字。这就意味着我们在写代码时,输入法需要调整为英语键盘,如果实在不行,请换一种输入法。Python有它的编程规范,在下篇文章我们会学到它的编程规范。
在编程的时候,编程语法不能使用中文全角字符。比如:引号,逗号。
“ ,
上面两个字符都是全角字符,逗号本身占据一个很宽的空间,它和引号之间也没空格。
,”
上面的例子里两个字符都是半角字符。
编程规范是大家都需要遵守的一种约束性协议,同时Python解析器也将编程规范来解析代码。
二、基本语法
第一个 Python 程序
程序员世界里最著名的程序是什么?当然是“Hello World”。这是个比较悠久的传统,从1972年开始被无数人当做来到编程语言世界的第一个程序。
Python 使用print命令来输出文字。
>>> print('Hello world!')
Hello world!
当你运行这段代码时,终端将输出”Hello world!"。恭喜你来到精彩的Python编程世界!
文本输出
语句print语句也可用于输出多行文本。
>>> print('Hello world!')
Hello world!
>>> print('Hello world!')
Hello world!
>>> print('Spam and eggs…')
Spam and eggs…
Python 代码里包括对 Monty Python's Flying Circus(BBC 出品从1969年一直播放到1974年的英国电视喜剧)的引用,Python的作者Guido van Rossum是它的粉丝。这就是为什么Spam 和 eggs 这两个词经常用作 Python 中占位符的原因,而 foo 和 bar 则经常用于其他编程语言。
语句 print 也可以跟上多个字符串,用逗号","隔开,就可以连成一串输出:
>>> print('The quick brown fox','jumps over','the lazy dog')
The quick brown fox jumps over the lazy dog
简单运算符
Python 有加减运算符 + 和 -。 在Python的控制台下输入加减法运算,按回车后输出运算结果。
>>> 2 + 2
4
>>> 5 + 4 - 3
6
运算符两边的空格是为了阅读更方便,无空格不影响程序的运行结果。
Python 也有乘法和除法运算符,* 表示乘法,/ 表示除法。和数学里的优先级一样,使用圆括号表示优先运算。
>>> 2 * (3 + 4)
14
>>> 8 / 2
4.0
使用除法在 Python 里会产生一个十进制浮点数。
Python 同样可以进行负数的运算,如同我们在数学里一样用减号 - 符号表示负数。
>>> -6
-6
>>> (-5 + 2) * (-4)
12
加号同样可以放在数学的左边表示这个数字是正数,但是习惯上不需要在数字前面放置加号来表示正数。
在除法中被除数为 0 将是Python 产生一个错误,计算将不产生结果。
>>> (17 + 13) / (-4 + 4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
如上所示,错误有出错行数,最后一行消息也指出产生错误的错误类型。
请仔细阅读错误消息,它告诉你程序在哪儿出错了,我们可以快速找到错误原因并修复它。
浮点
在 Python 里浮点用来表示非整数。我们用3.14 和 -1.1547 来表示浮点数。浮点数可以用小数或用除法来创建。小数点后第二位开始的最右边 0 将被忽略, 0.1400000 会显示0.14, 但17.0还是会显示为17.0.
>>> 4 / 5
0.8
>>> 3.14000000
3.14
计算机有时候不能正确地存储浮点数。Python提供 17 为小数精度的浮点。
>>> 4 / 2
2.0
>>> 6 * 8.0
48.0
>>> 1 + 3.125
4.125
在上一例子,两个整数相除处理成浮点。两个浮点的运算或整数和浮点的运算都被处理成浮点。
浮点数和整数运算中,Python 在运算时自动把整数转换为浮点,这种隐式转换操作是 Python 规则的一部分。在其它情况下如果要对其进行操作,通常必须手动转换值。
算术运算符
幂乘
除了加法、减法、乘法和除法Python也支持其它的运算,比如幂乘。幂乘也叫乘方,即求n个相同乘数的乘积运算。
比如3 ** 2,乘数是3, n为 2, 计算方式为 3 * 3,幂乘结果为9.幂乘运算符用两个星号 ** 来表示。
>>> 2 ** 4
16
>>> 9 ** (1/2)
3.0
商和余数
在 Python 里我们使用除后取整运算符和取余运算符来做商和余数的运算。除后取整运算符用//来表示是商运算。取余运算符用 % 来表示取余运算。整数和浮点数都可以用来做除后取整和取余运算。
下面代码表示 12 除于 5 商是 2,1.25除于 0.5 余数是0.25。
>>> 12 / 5
2
>>> 1.25 / 0.5
0.25
字符串
一串字符串(String)是字符(Characters)的序列(Sequence)。基本上,字符串就是一串字符。
字符串是以单引号‘’或双引号“”括起来的任意文本,所有引号内的空间,诸如空格和制表符,都将按照原样保留。比如‘abc’,“x y z”等等。请注意‘’或“”本身只是一种表示方式,不是字符串的一部分。
>>> "Python is fun!"
Python is fun!
>>> 'I like Python'
I like Python
你将会在几乎所有你编写的 Python 程序中使用字符串,同时注意,字符串是不可变的。
转义字符
有些字符不能直接包含在字符串,比如单引号不能直接放置在用单引号表示的 String 对象里。这会使 Python 无法识别哪儿是字符串的开始、哪儿是结束。
你必须指定这个单引号的 String 对象里需要对单引号进行转义。
>>> 'I\'m a boy!'
I'm a boy!
在上面的例子中我们对单引号进行了转义,添加了转义字符\。
同样如果在双引号申明的 String 对象里有双引号需要对双引号进行转义。
>>> "She say:\"I'm a girl!\""
She say:"I'm a girl"
在上面的例子中我们把对话里的双引号进行了转义,添加了转义字符\。
反斜杆也可用于转义制表符、任意 Unicode 字符以及其他无法可靠打印的内容,这些字符称为转义字符。
换行
Python 提供一种简单的方法在字符串里创建换行符 \n。使用三个双引号或单引号创建的字符串保留原始的输入状态,在其里面的回车被自动转义成 \n 。如下例:
>>> """Mother:Good morning.
Son:Good morning, mom!""" 'Mother:Good morning. \nSon:Good morning, mom!'
在三个引号表示的字符串里你不需要转义字符,你可以在字符串里自由地使用单引号与双引号,就像你正常的输入一样。回车键在输出里也被\n 转义符自动转义。
输入和输出
通常程序接受输入并在处理后产生输出。
你可以使用 print 函数来生成输出,这将在屏幕上显示其文本表现形式。
>>> print(1 + 2)
3
>>> print("Hello \n World!")
Hello
World!
当输出字符串对象时,生成字符串对象的引号不会被显示。
输入
要从 Python 用户获得输入,可以使用 input 输入函数
下面 input 函数提示用户输入,并以字符串的形式返回输入的内容(内容被自动转义)。
>>> input("Enter something please: ")
Enter something please: I am a boy who\nlike girl!
'I am a boy who\\nlike girl!'
“改变自己的世界,从一步一步做起”
Python学习手册之Python介绍、基本语法(一)的更多相关文章
- Python学习手册之 Python 之禅、Python 编程规范和函数参数
在上一篇文章中,我们介绍了 Python 的正则表达式使用示例,现在我们介绍 Python 之禅. Python 编程规范和函数参数.查看上一篇文章请点击:https://www.cnblogs.co ...
- Python学习手册之Python介绍、基本语法(二)
在上一篇文章中,我们介绍了Python的一些基本语法,现在我们继续介绍剩下的Python基本语法.查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/987193 ...
- Python学习手册之Python异常和文件
在上一篇文章中,我们介绍了 Python 的函数和模块,现在我们介绍 Python 中的异常和文件. 查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9963 ...
- Python学习手册 :Python 学习笔记第一天
获取当前目录路径: import os os.getcwd() 在输入python程序时,尽量让不是嵌套结构的语句处于最左侧,要不然系统或许会出现"SyntaxError"错误 获 ...
- 《Python学习手册 第五版》 -第12章 if测试和语法规则
本章节的内容,主要讲解if语句,if语句是三大复合语句之一(其他两个是while和for),能处理编程中大多数逻辑运算 本章的重点内容如下: 1.if语句的基本形式(多路分支) 2.布尔表达式 3.i ...
- 《Python学习手册》读书笔记
之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我 ...
- 《Python学习手册》读书笔记【转载】
转载:http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html 之前为了编写一个svm分词的程序而简单学了下Python,觉 ...
- 读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code之 ...
- 《Python学习手册 第五版》 -第10章 Python语句简介
前面在开始讲解数据类型的时候,有说过Python的知识结构,在此重温一下 Python知识结构: 程序由模块组成 模块包含语句 语句包含表达式 表达式创建并处理对象 关于知识结构,前面已经说过我自己的 ...
随机推荐
- 字典构造、合并(dict)、排序
使用dict,zip方法将两个list合并为dict keys = ["b", "a", "c", "e", " ...
- Zip压缩/解压缩(文件夹)
#PS2.0压缩为.zip文件: $zip = "D:\audit_log\test.zip"New-Item $zip -ItemType file$shellApplicati ...
- Hexo Next配置百度分享、加入动态背景、接入网页在线联系功能、页脚增加统计功能、添加gitment、添加热度、阅读量排行
Hexo Next配置百度分享.加入动态背景.接入网页在线联系功能.页脚增加统计功能.添加gitment.添加热度.阅读量排行: https://wangc1993.github.io/categor ...
- MySQL语法相关其一
一篇基础语法相关的笔记 // 参考资料: MySQL入门很简单 黄缙华等编著 清华大学出版社 北京 建议进入官网下载对应版本后安装:https://dev.mysql.com/downloads/my ...
- [T-ARA][그녀를 보면][看着那个女人的话]
歌词来源:http://music.163.com/#/song?id=29343995 作曲 : 코난 [作曲 : Ko-nan] 作词 : 코난/로코 [作词 : Ko-nan-/lo-Ko] b ...
- Salesforce平台支持多租户Multi tenant的核心设计思路
Multitenancy is the fundamental technology that clouds use to share IT resources cost-efficiently an ...
- C/C++——指针,引用做函数形参
函数中的形参是普通形参的时,函数只是操纵的实参的副本,而无法去修改实参. 引用形参是对实参的直接操纵,指针形参是对 它所指向的值(*p) 的直接操纵,但是对于这个指针变量(p)来说,依然只是副本. 指 ...
- 进入WinRe(windows恢复环境)
放个预览图: 方法汇总: 1. 2 . +Shift 3 ”shutdown /r /o“ 或 "bootim" 4 5 启动中强制关闭3次以上 6 狂按F8 (不同的电脑操作不 ...
- 折腾一下WebSocket的ArrayBuffer传输方式
前言 之前写WebSocket都是基于文本传输的,后来准备升级项目,于是打算尝试一下arraybuffer传输方式,由于是第一次使用javascript处理字符串转arraybuffer,不过真的 ...
- 3.2 Spark内置RPC框架
实现的HttpFileServer,但在Spark 2.0.0版本中它也被废弃了,现在使用的是基于Spark内置RPC框架的NettyStreamManager.节点间的Shuffle过程和Block ...