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知识结构: 程序由模块组成 模块包含语句 语句包含表达式 表达式创建并处理对象 关于知识结构,前面已经说过我自己的 ...
随机推荐
- 类库文件引用web服务报错解决方法-在 ServiceModel 客户端配置部分中,找不到引用协定的默认终结点元素
由于需求,需要改造原有应用,因原有应用是写在console下面的,现在需要开放至web下, 想到BIZ层应用代码都是一样的,又不想在web下在添加引用,而重复写代码,故将原有的console下的服务和 ...
- January 12 2017 Week 2 Thursday
Although it rains, throw not away your watering pot. 纵然天下雨,休把水壶丢. Don't throw away your watering pot ...
- 四、C# 5.0 新特性——Async和Await使异步编程更简单
一.引言 .NET 4.5 的推出,对于C#又有了新特性的增加--就是C#5.0中async和await两个关键字,这两个关键字简化了异步编程,之所以简化了,还是因为编译器给我们做了更多的工作,下面就 ...
- 美团2018年CodeM大赛-初赛B轮 B 配送(最短路)
美团2018年CodeM大赛-初赛B轮 B 配送 题意 题解 对于每个任务,只要从上个任务的终点出发即可. 时间.地点很少,可以算出每个地点-时间的最小花费. 以题目描述的起点终点起始结束时间建图,很 ...
- 【Alpha】总结 - (待更)
Alpha总结 1. 个人总结 PM & BackEnd - 胡武成 BackEnd - 吴松青 Web - 孙浩楷 Web - 练斐弘 App - 胡冰 App - 黄世辉 UI - 张旗 ...
- SAP ABAP里数据库表的Storage Parameters从哪里来的
如何查看ABAP数据库表的storage parameter? 事务码SE11,utilities->Database Object->Database Utility: 点这个Stora ...
- Java的日期时间
Date类 Date d = new Date() 使用SimpleDateFormat格式化日期. SimpleDateFormat允许用户自定义日期时间格式来运行. package cuiyuee ...
- 弹框插件self(动效兼容到IE9,功能兼容IE6)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- js实现简单的评论和回复功能(数组版)
var method={ getDate:function (a,b){ //获取当前日期 //a表示年月日直接的分隔符,b表示时分秒之间的分隔符 var dateStr="", ...
- POJ-3662 Telephone Lines---二分+最短路+最小化第k+1大
题目链接: https://cn.vjudge.net/problem/POJ-3662 题目大意: 求一条路径从1到n使第k+1大的边最小. 解题思路: 二分答案mid,当原边权小于等于mid新边权 ...