Python入门(1):Python语言基础
Python简介
Python 是一种跨平台的、开源的、免费的、解释型的高级编程语言。近几年发展势头迅猛,在2018年3月的TIOBE编程语言排行榜中已经晋升到第4名,而在IEEE Spectrum 发布的 2017 年度编程语言排行榜中,Python 位居第一。另外,Python的应用领域非常广泛,如 Web 编程、图形处理、黑客编程、大数据处理、网络爬虫和科学计算等,Python 都可以实现。
Python区分大小写
Python功能
Python 作为一种功能强大,并且简单易学的编程语言而广受好评,那么 Python 都能做什么呢?概括起来有以下几个方面。
1.Web 开发
使用 Python 的一个基本应用就是进行 Web 开发。在国内,大一些的使用 Python 做基础设施的公司有豆瓣、知乎、美团、饿了么,以及搜狐等。在国外,Google 在其网络搜索系统中广泛应用了 Python,并且聘用了 Python 之父。另外,YouTube 视频分享服务大部分也是用 Python 编写的
2.大数据处理
随着近几年大数据的兴起,Python 也得到了前所未有的爆发。Python 借助第三方的大数据处理框架可以很容易地开发出大数据处理平台。到目前为止,Python 是金融分析、量化交易领域里使用最多的语言。例如,美国银行就利用 Python 语言开发出了新产品和基础设施接口,用于处理金融数据。
3. 人工智能
人工智能(Artificial Inteligence),英文缩写为 AI。Python之所以这么火,主要是借助人工智能的发展。Pvhon 是一门脚本语言,它更适合去做人工智能这个领域,在人工智能上使用 Pvthon 比其他编程语言有更大的优势。主要的优势在于它简单、快速、可扩展(主要体现在可以应用多个优秀的人工智能框架)等。另外,Pyion 中的机器学习可以实现人工智能领域中的大多数需求。
4.自动化运维开发
掌握一门开发语言已经成为高级运维工程师的必备技能。Pyhon 是一个简单、易学的脚本语言,能满足绝大部分自动化运维的需求。而对于运维工程师,通常不会开发,所以想学门开发语言,Python是首选。
5.云计算
Python 可以广泛地在科学计算领域发挥独特的作用。通过强大的支持模块可以在计算大型数据、矢量分析、神经网络等方面高效率地完成工作,尤其是在教育科研方面,可以发挥出独特的优势。从1997年开始,NASA 就在大量使用 Python 进行各种复杂的科学运算。现在终于发明了一套云计算软件,取名为 OpenStack(开放协议栈),并且对外公开发布。
6.爬虫
网络爬虫(也称为spider)始于也发展于百度、谷歌。但随着近几年大数据的兴起,爬虫应用被提升到前所未有的高度。多数分析挖掘公司都以网络爬虫的方式得到不同来源的数据集合,最后为其所用,构建属于自己的大数据综合平台。在爬虫领域,Python 几乎是霸主地位,通过它提供的标准支持库基本上可以做到随意获取想要的数据。
7.游戏开发
通过 Python 完全可以编写出非常棒的游戏程序。例如,知名的游戏 Sid Meier'sCivilization(文明)就是用 Python 编写的。另外,在网络游戏开发中 Python 也有很多应用。它作为游戏脚本内嵌在游戏中,这样做的好处是既可以利用游戏引擎的高性能,又可以受益于脚本化开发等优点。
Python注释:
在 Python 中,通常包括3种类型的注释,分别是单行注释、多行注释和中文注释
1.单行注释 # 注释
在 Python 中,使用“#”作为单行注释的符号。从符号“#”开始直到换行为止,其后面所有的内容都作为注释的内容而被 Python 编译器忽略。
语法如下:
# 注释内容
单行注释可以放在要注释代码的前一行,也可以放在要注释代码的右侧。例如,下面的两种注释形式都是正确的。
第一种形式:
# 要求输入身高,单位为m(米),如1.700102height=foat(input("请输入您的身高:"))
第二种形式:
height=foat(input("请输入您的身高:")) # 要求输入身高,单位为m(米),如1.70
2.多行注释: 三个单引号 或 三个双引号
在 Python 中,并没有一个单独的多行注释标记,而是将包含在一对三引号("'……"')或者("""…""")之间,并且不属于任何语句的内容认为是注释。对于这样的代码,解释器将忽略。由于这样的代码可以分为多行编写,所以也作为多行注释。
语法格式如下:
'''
注释内容 1
注释内容 2
'''
或者
"""
注释内容 1
注释内容 2
"""
3.中文注释
在 Python 中,还提供了一种特殊的中文注释。该注释的出现主要是为了解决 Python 2.x中不支持直接写中文的问题。虽然在 Python3x中,该问题已经不存在了。但是为了规范页面的编码,也为了方便其他人及时了解文件所用的编码,建议在文件开始加上中文注释。
语法格式如下:
#_*_ coding:编码 -*-
比如
#coding=utf-8
代码缩进
Python不像其他程序设计语言(如Java或者C语言)采用大括号"{}"分隔代码块,而是采用代码缩进和冒号":"区分代码之间的层次。尽量使用4个空格来进行缩进
缩进可以使用空格或者Tab键实现。其中,使用空格时,通常情况下采用4个空格作为一个缩进量,而使用 Tab键时,则采用一个 Tab 键作为一个缩进量。通常情况下建议采用空格进行缩进。
在Python(Python)中,对于类定义、函数定义、流程控制语句,以及异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束。
python对代码的缩进要求非常严格,同一个级别的代码块的缩进量必须相同。如果不采用合理的代码缩进,将抛出 SymntaxError 异常。例如,代码中有的缩进量是4个空格,还有的是3个空格,就会出现 SymtaxError 错误.这与C#,java等其他编程语言中空格缩进这部分空格将被忽略有本质上的不同.python中缩进空格就类似于C#,java的分号,花括号
1.编写规则
Python 中采用 PEP8作为编码规范,其中 PEP是 Python Enhancement Proposal 的缩写,翻译过来是 Pyhon 增强建议书,而 PEP8表示版本,它是 Python 代码的样式指南。下面给出 PEP8编码规范中的一些应该严格遵守的条目。
每个 import 语句只导入一个模块,尽量避免一次导入多个模块。
推荐写法
import 0S
import sys
不推荐写法
import os,sys
不要在行尾添加分号,也不要用分号将两条命令放在同一行。
建议每行不超过 80个字符,如果超过,建议使用小括号“0”将多行内容隐式地连接起来,而不推荐使用反斜杠“\”进行连接。例如,如果一个字符串文本在一行上显示不下,那么可以使用小括号“0”将其分行显示,代码如下:
print("我一直认为我是一只蜗牛。我一直在爬,也许还没有爬到金字塔的顶端。"
"但是只要你在爬,就足以给自己留下令生命感动的日子。")
使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空两行,而方法定义之间空一行。另外,在用于分隔某些功能的位置也可以空一行。
通常情况,运算符两侧、函数参数之间、逗号“,”两侧建议使用空格进行分隔.
应该避免在循环中使用+和+=操作符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象。推荐的做法是将每个子字符串加入列表,然后在循环结束后使用 joinO方法连接列表。
适当使用异常处理结构提高程序容错性,但不能过多依赖异常处理结构,适当的显式判断还是必要的。
2.命名规范
命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义。
下面将介绍 Python 中常用的一些命名规范。
回 模块名尽量短小,并且使用全部小写字母,可以使用下划线分隔多个字母。例如,game main、game register、bmiexponent 都是推荐使用的模块名称。
区包名尽量短小,并且使用全部小写字母,不推荐使用下划线。例如,com.mingrisoft、com.mr、com.mr.book 都是推荐使用的包名称,而com mingriso 就是不推荐的。
类名采用单词首字母大写形式(即Pascal风格)。例如,定义一个借书类,可以命名为BorrowBook。。
模块内部的类采用下划线“”+Pascal风格的类名组成。例如,在 BorrowBook 类中的内部类,可以使用 BorrowBook 命名。
函数、类的属性和方法的命名规则同模块类似,也是全部采用小写字母,多个字母间用下划线“”分隔。
常量命名时采用全部大写字母,可以使用下划线。
使用单下划线“ ”开头的模块变量或者函数是受保护的,在使用 import*from 语句从模块中区导入时这些变量或者函数不能被导入。
使用双下划线“”开头的实例变量或方法是类私有的。
保留字[关键字]
获取python所有关键字
print("#打印所有python关键字:")
for name in keyword.kwlist:
print(name)
示例python代码如下:
#coding=utf-8
import keyword
import os
import sys
print("Hello Snake") #打印hello
number1=25
number2=20;
print(number1+number2);
test="snake"
print(type(test))
'''
测试多行注释
身体质量指数=体重/身高的平方
BMI(Body Mass Index)=Weight/(Height*height)
'''
print('''计算结果''')
height=float(input("请输入您的身高,单位:米 "))
weight=float(input("请输入您的体重,单位:千克 "))
bmi=weight/(height*height)
print(bmi)
# 判断人体胖瘦程度
if bmi<18.5:
print("您的体型过瘦,bmi为" + str(bmi))
elif bmi>=18.5 and bmi<25:
print("您的体型正常,bmi为" + str(bmi))
else:
print("您的体型过胖,bmi为" + str(bmi))
a="传说"
b=28
print(id(a)) #获取内存地址:内置函数 id()
print(type(123456789098765))
print(type(id(b)))
#以0o[数字0,字母o]开始的是八进制,以0x开始的是十六进制
print(0o76) #7*8+6=就是十进制62
print(0x1f)
print(0X03Ec)
print("浮点数相加 获得的结果可能不是准确的:"+str(int(0.1+4.5))) #浮点数相加 获得的结果可能不是准确的
#python中可以直接进行复数complex运算
complexA=5+2j
complexB=6+2j
complexC=complexA*complexB
print(complexC)
print(type(complexC))
print(""" 江城子·密州出猎
宋·苏轼
老夫聊发少年狂,左牵黄,右擎苍,锦帽貂裘,千骑卷平冈。为报倾城随太守,亲射虎,看孙郎。
酒酣胸胆尚开张,鬓微霜,又何妨?持节云中,何日遣冯唐?会挽雕弓如满月,西北望,射天狼。
""")
#字符串中,使用反斜杠"\"作为转义字符,\0开始的是8进制,\x开始的是十六进制,\u开始的是Unicode字符
print("打印回车符:\n.双引号\".\070\x41\u4A2C")
print("#打印所有python关键字:")
for name in keyword.kwlist:
print(name)
运行如图: