Python和Pythonic

Python是一门计算机语言(这不是废话么),简单易学,上手容易,深入有一定困难。为了逼格,还是给你们堆一些名词吧:动态语言、解释型、网络爬虫、数据处理、机器学习、Web开发、等等等等。Python目前分为2.x和3.x两个版本,与其它语言不一样的是,它的这两个版本是不兼容的,虽然会其中一个就容易上手另一个,但是鉴于公司目前几乎全是用Python2.7,建议同事们也可以从2.x版本开始,如果没有历史遗留问题,建议初学者直接上手Python3。

Pythonic指的是按照Python推荐的规范,干净美观、可读性强的逼格满满到代码风格,比如多使用Python内置的数据结构,不要重复造轮子。简单来讲,你可以在Python解释环境里输入import this了解一下Python之禅。Python的代码风格上,如果团队有自己的风格则按照自己的风格,否则,比较推荐的是PEP8或Google Code Style。关于PEP8规范,链接在这里(https://www.python.org/dev/peps/pep-0008/)。


开发环境搭建

在常见的*inx系统上,默认都安装了Python解释器,你可以直接在终端输入python进入默认的环境。在Windows系统上,你需要去Python官网下载Python的安装包,安装之后可以在“所有程序”中找到“IDLE”,也可以在cmd中通过输入python进入解释器环境。

对于Python常用的IDE(集成开发环境),推荐使用PyCharm,如果土豪请购买正版,如果不是土豪又有情怀,请使用社区版(免费),如果既不土豪又没有情怀,就用盗版吧(不推荐)。

Python之所以非常流行,离不开它千千万万的第三方库,你可以将第三方库理解为我写了一个牛X的功能,发布出来之后你可以直接使用。安装第三方库的话,推荐使用pip,在Ubuntu上,你可以通过apt-get install python-pip安装。


hello, world.

常见情况下,Python代码可以通过两种形式运行:一是直接在刚才所讲的解释环境下(输入python命令后进入的地方)一行一行的执行,或者也可以保存到一个.py的文件中,在终端输入python 文件名来执行。比如新建一个test.py,文件内容为print 'hello, world.',在终端输入python test.py,即可输出hello, world.。

注意⚠️:Python中没有使用花括号{}来表示代码间的层级关系而是使用缩进,这样的好处是在语法层面上限制了不好的代码风格,但是初学者容易混淆。


变量、基础数据类型

变量

Python中变量不需要声明,你可以通过直接赋值的方式使用变量:

a = 1

b = True

c = 1.0

a = 3+2j

在Python中,你可以在给一个变量赋值为一种类型之后重新为其赋值为新的类型(如上面代码第1、4行)。

基础数据类型

Python中的数字有:整型、长整型、浮点型、布尔型、复数。

  • 整形:int,常见的整数(正数/负数/0),通过sys.maxint即可查看当前平台上最大的整型的值。

  • 长整型:long,比整型最大的值还大或者比整型最小的值还小的整数。注意:Python中长整型没有大小限制,你的内存有多大,它就能表示多大。

  • 浮点型:float,即小数。

  • 布尔型:bool,常见形式为True, False,表示逻辑真和逻辑假,其实背后的实现是数字1和0.

  • 复数:complex,Python是为数不多语法层面上支持复数的语言,表现为形如1+2j的形式。可以直接支持两个复数的运算。

Python中的所有数据类型都是对象。你可以通过type()函数查看一个变量的类型。

Python中字符串有4种表现形式:单引号、双引号、三引号:

string1 = 'this is a str'

string2 = "this is a str"

string3 = '''this is a str

这里还是string3的范围'''

string4 = """this is a str"""

其中,第3/4种字符串表现形式都是三引号引起来的。如果在字符串的引号之前加上一个u,则表示这是一个unicode字符串,如果加上r,则表示这是一个原始字符串 ,这两种类型,对于初学者暂不讨论。值得注意的是,Python中没有C-Like语言中的字符类型。


运算符、控制语句

运算符

Python中没有类似于C/C++/Java的自增自减运算符,因为在Python中,数字是一种不可变类型(immutable),对数字的操作都会产生新的对象而不是修改原来的对象。但是i = i + 1一样可以写为i += 1。

注意:Python2.5以后的除法为地板除,即5/2=2而不是5/2 = 2.5。

Python常见的逻辑运算符为:

  • !=, <>:不等于,表示两边的值不相等,推荐使用前一种。1 != 2。

  • ==:等于,表示两边的值相等。2 == 2。

  • and:逻辑与,如果两边的值都为True则整个值为True,反之为False。1==1 and 2==2。

  • or:逻辑或,如果两边有一个值True则整个值为True,反之为False。1==2 or 2==2。

  • not:逻辑非,如果值为True,则结果为False。not 2==1。

控制语句

条件语句:

Python中的条件语句只有if-elif-else,没有switch-case,但是有经验的开发者通常使用map这一结构来达到比switch-case更加优雅,更加Pythonic的实现,这个后续再说。

if条件1:

语句块1

elif条件2:

语句块2

else:

语句块3

elif类似于其它语言中的else if。

循环语句:

Python中有两种方式表达循环语句:

while 循环:

while条件:

语句块

for循环:

for变量in集合:

语句块

值得注意的是Python中没有C-Like语言里的for(int i=0; i<10; i++)的语法,不过可以使用xrange或者range函数实现同样的效果。前一个函数返回一个生成器,后一个函数返回list,一般推荐使用前一个,至于这两个函数的异同,后面有时间细聊。


集合

Python中常见的集合类型有:list,tuple,set,dict。

list

list表达的是一列数据的集合,列表中的元素可以增加、删除、查找等操作:

In[1]: l = ['this','is','a','list']# 初始化一个list

In[2]: type(l)

Out[2]: list

In[3]: l.index('is')#查找元素

Out[3]: 1

In[4]: l.append('new item')#新增元素

In[5]: l

Out[5]: ['this','is','a','list','new item']

In[6]: l.reverse()#反转列表

In[7]: l

Out[7]: ['new item','list','a','is','this']

In[8]: l.remove('is')# 删除元素

In[9]: l

Out[9]: ['new item','list','a','this']

tuple

tuple类似于list,同样表示一组数据的集合,不同的是,tuple是写保护的,即:tuple不可以对其元素做任何修改操作(新增、删除等):

In[1]: t = (1,2,3)# 初始化

In[2]: t

Out[2]: (1,2,3)

In[3]: type(t)

Out[3]: tuple

set

set表示一个不重复元素的集合,值得注意的是:set是无序的。

In[1]: s = {'this','is','a','a','set'}# 初始化

In[2]: s

Out[2]: {'a','is','set','this'}

In[3]: type(s)

Out[3]: set

In[4]: s.add('new item')# 新增元素

In[5]: s

Out[5]: {'a','is','new item','set','this'}

In[6]: s.remove('a')#删除元素

In[7]: s

Out[7]: {'is','new item','set','this'}

dict

dict表示一组数据的对应关系,与set一样,dict是无序的(你可以通过collections中的OrderDict来达到有序)。同时,对于初学者,dict与set的声明方式容易混淆:

In[1]: d = {'a': 'A','b': 'B'}# 初始化

In[2]: d

Out[2]: {'a': 'A','b': 'B'}

In[3]: d['a']

Out[3]: 'A'

In[4]: d['c'] = 'C'# 新增元素

In[5]: d

Out[5]: {'a': 'A','b': 'B','c': 'C'}

In[6]: deld['a']#删除元素

In[7]: d

Out[7]: {'b': 'B','c': 'C'}

函数(初步)

在Python中声明函数的方式如下:

def add(num1,num2):

returnnum1 + num2

通其它语言一样,你可以在函数中通过return返回值。不同的是,Python中函数可以有多个返回值,比如下面的函数,返回了两个数的和以及差:

def calc(n1,n2):

returnn1 + n2,n1 *n2

add,sub = calc(5,1)

print add,sub# 6 4

其实这里并不是真的返回了两个值,而是将返回值组装成一个tuple再返回。


小结

Python中最最最基础的部分差不多就是这些了,后面会继续分享一些Pythonic的Python代码写法。

转载于:https://www.cnblogs.com/qqq1622479435/p/9405004.html

Python 基础:分分钟入门相关推荐

  1. python安装目录结构_1.5 python安装目录介绍《Python基础开发入门到精通》

    第一章 Python的概述与环境安装 本章所讲内容: 1.1 Python介绍 1.2 Python2与Python3的比较 1.3 Python3的安装 1.4 Python环境变量配置 1.5 P ...

  2. Python基础语法入门篇(一)

    Python基础语法入门篇(二) 1. 注释 在我们工作编码的过程中,如果一段代码的逻辑比较复杂,不是特别容易理解,可以适当的添加注释,以辅助自己 或者其他编码人员解读代码. 注释是给程序员看的,为了 ...

  3. Python基础编程入门实例:恺撒密码

    文章目录 Python基础编程入门实例:恺撒密码 一.什么是恺撒密码 二.程序运行环境 三.恺撒密码:加密 3.1.恺撒密码加密实例程序 3.2.恺撒密码加密实例程序运行结果 四.恺撒密码:解密 4. ...

  4. Python基础知识入门(二)

    Python基础知识入门(一) Python基础知识入门(三) Python基础知识入门(四) Python基础知识入门(五) 一.数字类型 Python 数字数据类型用于存储数值.数据类型是不允许改 ...

  5. python基础一入门必备知识-python基础教程#菜鸟也能看懂的超简单入门必备知识...

    python基础语法教程 python一直是一门非常火爆的编程语言,从简洁的语法,全面的功能,也是得到许多编程萌新的重视,在刚刚接触编程不久的人来说,python就像是代码编程的入门语言,但其实想成为 ...

  6. python基础一入门必备知识-Python从入门到精通要掌握哪些基础知识?

    Python从入门到精通要掌握哪些Python基础知识?Python作为一门编程语言,已经发展了近三十年,近几年,随着人工智能时代的来临分不开,python人才已经成为一线互联网企业的青睐的对象,Py ...

  7. 什么是 Python?Python 基础编程入门指南

    Python是当今最流行的编程语言之一.Python以其简单的语法和多功能性而闻名,既易于学习又可用于高级应用程序.可以使用Python的领域也非常广泛,人工智能.机器学习.Web 开发-基本上绝大多 ...

  8. python入门基础知识教程-Python基础知识入门,这三个原则是你要知道的,还有教程...

    很多人都说Python是最容易入门的编程语言,但是入门Python,你必须要明白这三个原则. 否则,你一定很难入门Python. 第一,一定要从最简单的开始(尾部还有最简单的入门教程) 我接触过一些想 ...

  9. python基础一入门必备知识-Python快速入门指南基础知识详细说明

    随着人工智能大火,我们身边几乎处处充满着AL的气息,就连停车,都是机器人值班了. 可是很多人都不知道人工智能是由什么开发的,各种相关联的框架都是以Python作为主要语言开发出来的. Python本身 ...

  10. python基础一入门必备知识-Python数据分析入门必备基础知识

    今天,老师要带大家解数据分析的定义.核心思路.应用领域以及开发流程,向大家全方位展示数据分析入门必备基础知识,全都是干货哦!虽然看完本文,不能让大家立马变身为一名数据分析师,但是能让大家对数据分析有一 ...

最新文章

  1. js 改变change方法_Linux 中改变主机名的 4 种方法 | Linux 中国
  2. Programming Pearls Essay 01
  3. 100小时学会sap-财务篇fico总结介绍篇
  4. 周志华《机器学习》西瓜书出全新视频课啦!
  5. php怎么解析xml,使用PHP快速解析复杂的XML文件
  6. GNU编译优化级别-O -O1 -O2 -O3
  7. js控制a标签点击事件 触发下载
  8. Object to XML
  9. python朋友圈切图代码
  10. 专业英语笔记:Install and Use Python
  11. 高考学文的能报计算机吗,高考志愿填报时,文科生能申报计算机类相关专业吗?...
  12. mybatis中useGeneratedKeys和keyProperty的作用
  13. vue 内存溢出问题解决
  14. Windows环境上装在VM,VM安装CentOS7
  15. PL/SQL Developer使用技巧、快捷键(转发)
  16. HBuilderX使用mac打包ios应用提示苹果根证书没有安装
  17. PE装机工具-U深度制作
  18. 【PAT刷题甲级】部分笔记1065-1155~(下)
  19. GhostScript 沙箱绕过(命令执行)漏洞 CVE-2019-6116 漏洞复现
  20. 顶刊实证复现:排污权交易机制是否提高了企业全要素生产率 (思路梳理+全数据源+python代码)

热门文章

  1. windows批量修改文件、文件夹名工具:Bulk Rename Utility批量改名演示
  2. 达梦数据库DM8飞腾版本、芯版本获取地址,最新达梦数据库各国产化版本获取方法,达梦数据库DM8使用手册、产品文档获取
  3. 对matlab中colormap的解释及fill、imshow的用法说明
  4. 【解决办法】pandas画出时序数据(股票数据)横轴不是时间
  5. Ubuntu 中python 升级到3 后apt-get 一直报错
  6. android 工作 绝望,我的人生绝望手游
  7. 12v小型电机型号大全_电机型号参数大全,再不怕看不懂型号了!建议收藏
  8. bzoj2067: [Poi2004]SZN
  9. element菜单默认展开和选中
  10. VUE el-input正则验证