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 = 0while count <= 5:count += 1print("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 = 0while count <= 5:count += 1print("loop",count)breakelse: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语句。
转载于:https://www.cnblogs.com/Nicholas0707/p/8666775.html
Python编程笔记(第一篇)Python基础语法相关推荐
- Python编程学习第一篇——Python零基础快速入门(三)——10行代码画朵花
上一节讲了一些Python编程的一些基础知识,从这节开始,我们将跟随一些实际的小程序示例,进入正式的编程学习. 下面我们就来介绍一下今天这个只有10行代码的小程序,先来看一下它的运行效果, ...
- 【Python学习笔记】3. Python3 基础语法
前言 本文介绍Python3 基础语法. 编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -*- ...
- Python学习笔记(二)- 基础语法
python作为一种编程语言,肯定有它的一套规范,那么我们学习之前必然要了解这些规范,否则它是不认识的.So 让我们开始吧!我们的目标是大概写5篇python文章,然后继续我们的java事业,后期我们 ...
- 流畅的python读书笔记-第一章Python 数据模型
第一章 python数据类型 1 隐式方法 利用collections.namedtuple 快速生成类 import collectionsCard = collections.namedtuple ...
- 【Python】第一篇:基础语法与结构 ,秃头的路上,我们一起成为卷王
- python学习笔记(一)基础语法 — 参考创客智造
安装pycharm的我在一篇博客里面写过,很简单,我这里就不多写了. 如果在编译器里面想要输出中问的话,需要吧将编码格式改成UFT-8,如何更改呢? #!/usr/bin/python #-*-cod ...
- EduCoder-Linux与Python编程2021(类的基础语法)- 第3关:绑定与方法调用
任务描述 在 Python 中,如果用实例去调用方法,这种限制就被称为 Python 中的绑定(binging).没有创建实例时,方法就是未绑定的.本关的任务就是让学习者理解什么是绑定,并学会如何调用 ...
- python 学习笔记第一篇---下载网页内所有图片
第一步:打开网址,进入开发者模式,选中 Network,选择 Img 然后刷新页面,静静等待页面加载 等待页面加载完成,你可以看到这边有很多图片的资源 随便点开一个图片选择 Headers 可以看到 ...
- python学习笔记第一篇:Python3使用wordcloud制作词云报错OSError: cannot open resource和制作出的词云图乱码问题
wordcloud制作词云时有关字体设置参数font_path = ""使用: 1.当使用电脑中不存在的字体时,运行程序会报错OSError: cannot open resour ...
- python编程注释_自学python编程笔记之:python的注释
python中有两种注释: 看以下程序示例(未使用注释): 看以下程序示例(使用注释): 一.注释的作用: 增加程序的可读性,让开发者或后续接手程序进行维护修改的程序员提供可读性. 好的程序代码通常有 ...
最新文章
- php model类,PHP培训之PHP Model类
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- Java基础学习网站收藏
- JDK1.8并发包中的类
- Python将数据插入到数据库时遇到单引号插入错误的问题
- 国家标准GB7665-87传感器
- double小数点后最多几位_基金理财买入后,不断亏损,是最多本金亏光,还是会出现负值...
- Tensorflow取消占用全部GPU
- Python 调试 PDB
- oracle内置函数 wmsys.wm_concat使用
- DEDE 文章常用标签
- javascript对象概念大全
- win10如何禁用\删除讨厌的ff新鲜事(ff新推荐)(flash弹窗广告)
- linux把目录打包和压缩文件,Linux文件压缩和打包
- android logo在线生成工具,在线生成logo
- 云服务器安全组设置后,依然无法访问端口(已解决)
- java socket 连接异常_JAVA Socket连接服务器时可能抛出的异常
- 自定义View - 仿QQ运动步数效果
- 浅入浅出LuaJIT
- 电子元器件分销业ERP系统供应链解决方案
热门文章
- AV_PIX_FMT_YUV420P12LE’在此作用域中尚未声明
- 关于怕什么来什么的说法,是否成立
- DeepStream运行范例出错,提示缺少libnvinfer.so怎么办?
- linux下安装nginx1.10,Linux(RHEL7.0)下安装Nginx-1.10.2
- python余弦定理求角_余弦定理计算文章相似度
- 开关电源适配器原理_迅为i.MX6ULL开发板原理图分析介绍
- java实验小狗状态_Java第6章-接口与多态实验2(小狗的状态)
- java 人脸识别 demo_基于虹软sdk,java实现人脸识别(demo)
- origin如何绘制双y轴曲线_Origin系列:绘制双Y轴图
- 二维数组遍历_布尔值数组的状态压缩