Python编程笔记(第一篇)Python基础语法

一、python介绍

1、编程语言排行榜

TIOBE榜 TIOBE编程语言排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员、课程和第三方厂商的数量。

2、python与其他语言对比

  • JAVA 目前使用最广泛的编程语言,第一个跨平台的语言, 在大型ERP软件\安卓APP开发\大型网站开发领域使用广泛

  • PHP 使用最广泛的WEB开发语言,非常适合中小型网站开发,学习成本较低,开发效率高

  • C\C++ 学习成本高,学习周期长,偏系统底层、在开发硬件驱动、嵌入式、游戏引擎开发等领域有广发的应用。

  • PYTHON 使用领域几乎和JAVA一样广泛,但开发效率要高于JAVA,且学习成本较低,在科学预算\数据分析\网站开发\爬虫开发\云计算\自动化运维\自动化测试等领域优势明显

3、python的生态圈

  • WEB开发 比较火的python web框架,支持异步高并发的Tornado框架,短小精悍的flask、bottle。

  • 人工智能 python是对人工智能支持最好的语言。

  • 云计算 目前最火的云计算框架openstack。

  • 金融量化分析、自动化交易 python在金融分析、量化交易领域用的非常多。

  • 爬虫 爬取网页和数据

  • 自动化运维 运维必须掌握的语言

  • 科学计算NASA早在97年就开始用python做科学计算,之后有了Numpy\SciPy\Matplohib\Enthought librarys等库,python越来越适合做科学运算和图形处理。

  • 游戏开发python也可以做游戏开发

4、语言发展史

机器语言---汇编语言---高级语言

5、高级语言分类

编译类: 将程序源码转成目标代码(机器语言),所以程序可以脱离其语言环境独立执行。程序执行效率高但是修改比较麻烦,只要修改源代码,必须重新生成执行文件。

如C、C++、Delphi等

 

6、编译型和解释型的优缺点

解释类:将源代码实时的由解释器翻译成目标代码(机器语言)进行执行,而且不能生成独立的可执行的文件,程序运行不能脱离其解释器。

如Python、Java、PHP、Ruby等语言。

编译型优点:

a、程序执行时,不再需要源代码不依赖语言环境,因为执行的是机器码文件

b、执行速度快,因为你的程序代码已经翻译成了是计筲机可以直接理解的机器语言。

缺点:

a、每次修改了源代码,需要重新编译,生成机器码文件b、跨平台性不好,不同操作系统,调用底层的机器指令不同,需要为不同平台生成不同的机器码文件

解释型

优点:a、天生跨平台,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需再考虑平台差异性,可谓,一份源代码,所有平台都可直接执行

b、随时修改,立刻见效,改完源代码后,直接运行看效果

缺点:

a、运行效率低,所有的代码均兼经过解释器边解释边执行,速度比编译型慢很多b、代码是明文

7、各类程序语言总结:

机器语言:优点是最底层,速度最快,缺点是最复杂,开发效率最低

汇编语言:优点是比较底层,速度最快,缺点是复杂,开发效率最低

高级语言

编译型语言执行速度快,不依赖语言环境,跨平台效率差解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行

8、python发展史

发明人Guido van Rossum

1989年圣诞节写出来的,创造出一种C和shell之间的,功能全面,易学易用的可拓展的语言。

1991年第一个编译器诞生,是用C语言写成的。1999年正式支持web开发

1994年增加 lamba ,map,filter and reduce

2000年python2.0解释器,加入内存回收机制,构成了现在的python语言架构的基础。

2004年python2.4解释器,同年目前最流行的的web框架Django诞生

2006年python2.5解释器发布

2008年python2.6解释器发布

2008年python3.0解释器发布

2010年 python2.7解释器发布

2009年python 3.1解释器发布

2011年python 3.2解释器发布

2012年python 3.3解释器发布

2014年python 3.4解释器发布

2014年11月宣布对python2.7的支持到2020年,并且不再开发python2.8用户应该尽快使用python3.4及其以上版本。

2015年10月发布python 3.5解释器

2016年12月发布python 3.6解释器

9、python解释器种类

Cpython:大多数人用的python解释器,官网下载的也是Cpython

ironpython:即IronPython 是一种在 NET 和 Mono 上实现的 Python 语言。

Jpython:java语言写的解释器。

pypython:pypy是对python进行动态编译一次,再次执行.

 

二、变量

1、变量

是表示一个数值或者状态的,把程序运算的中间结果临时存到内存里,已备后面的代码继续调用。

2、变量定义的规则

只能是字母、数字、下划线的任意组合

变量名的第一个字符不能是数字

3、关键字不能声明为变量名

keyword.kwlist = ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

4、变量命名的习惯

a、驼峰体

age0of0nicholas = 18

b、下划线

age_of_nicholas = 18

5、low的变量命名方式

变量名为中文

变量名过长

变量名词不达意

6、常量

常量即不变的量,在python中没有一个专门的语法代表常量,程序员约定俗成用变量全部大写代表常量

PI = 3.14

7、注释

代码注释用#

代码注释原则:不用全部加注释,只需要在自己觉得重要或者不好理解的部分加注释即可,注释可以是中文或者英文,但绝对不要用拼音

三、数据类型

1、整型

整型即整数,在python3中不再有长整型long,只有int

2、字符串

在python中加了引号的字符都被认为是字符串,单引号和双引号没有任何区别

单双引号的配合使用

msg = "I'm 18 years old !"

多行字符串可以用三引号

msg = '''my
name
is
nicholas
'''

  

3、字符串的拼接

字符串的拼接可以用+

字符串可以用乘法

name = "nicholas"
v = name *10
print(v)

  

这里会输出10个nicholas

注意字符串的拼接只能是双方都是字符串,不能是数字或者其他类型

4、布尔类型

True /False

5、if-else语句

见博客[Python之路(第一篇):Python简介和基础]

6、while循环

见博客[Python之路(第一篇):Python简介和基础]

7、continue、break

continue 结束当前循环,继续下一次循环

break 结束整个循环,执行循环体外面的语句

8、while -else语句

与其他语言不同,python中还有while-else语句

while后面的else语句作用是,当while循环正常执行完,中间没有被break语句中止的话,就会执行else后面的语句,如果被中止,则else也不会被执行。

例子

  count = 0
  while count <= 5:
      count += 1
      print("loop",count)
  else:
      print("循环正常执行完啦")
  print("-------out of while loop--------")
 

  

输出结果

loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
循环正常执行完啦
-------out of while loop--------

  

 

分析:这里是先执行完while语句之后再次执行了else语句

例子2

  
  count = 0
  while count <= 5:
      count += 1
      print("loop",count)
      break
  else:
      print("循环正常执行完啦")
  print("-------out of while loop--------")

  

输出结果

loop 1
-------out of while loop--------

  

分析:这里在while 语句中被break后,else中的语句也没有执行。

 

 

9、for -else语句

for-else与while-else类似,for循环正常执行完,中间没有被break语句中止的话,就会执行else后面的语句,如果被中止,则else也不会被执行。注意这里如果for循环语句中有return也会有break类似的效果

例子


 li = [1,2,3,4,5]
  def find():
      for i in li:
          if i == 5:
              print("找到5了")
              return "ok"
      else:
          print("没有找到")
          return "no"
  print(find())

  

输出结果

  找到5了
  ok

  

分析:这里for循环语句里if条件成立打印"找到5了",return出“ok”,之后会直接结束程序,不会继续执行else语句。

例子2


li = [1,2,3,4]
  def find():
      for i in li:
          if i == 5:
              print("找到5了")
              return "ok"
      else:
          print("没有找到")
          return "no"
  print(find())

  

输出结果

  
  没有找到
  no

  

分析:这里for循环内if语句没有符合条件,return语句未能被执行到,所以for循环语句执行完之后执行了else语句。这里return的功能和break类似,即如果for循环被break或者return打断执行过程,那么后面的else语句也不会被执行,如果for循环没被打断则执行else语句。

 

 

posted on 2018-03-28 22:18  Nicholas--  阅读(789)  评论(0编辑  收藏  举报

导航