python day 1--python初始
笔者:QQ: 360212316
Python初识
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。
python的应用领域
1、云计算: 云计算最火的语言, 典型应用OpenStack
2、WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
3、科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
4、系统运维: 运维人员必备语言
5、金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
6、图形GUI: PyQT, WxPython,TkInter
python的优点
1、优雅、明确、简单
2、开发效率高:python有非常强大的第三方库
3、高级语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
4、可移植性:Python已经被移植在许多平台上
5、可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
6、可嵌入性:可以把python嵌入c/c++程序,从而向你的程序用户土工脚本
python的缺点
1、运行速度慢:相对于C程序来说
2、代码不能加密
3、线程不能利用多CPU问题
python解释器
cpython:
当我们从Python官方网站下载并安装好Python 3.5后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python
就是启动CPython解释器。
ipython:
Python是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
pypy:
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
jython:
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython:
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
小结:
小结:python的解释器虽然很多,但使用最广泛的还是Cpython,如果要和java、。net平台交互,最好的办法是通过网络调用,而不是使用jython和IronPython
编译型语言和解释型语言
编译型语言:
运行编译型语言是相对于解释型语言存在的,编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。
编译型语言有一下几种:
C语言、C++
编译型语言的优点:
运行速度快,代码效率高,编译后的程序不可修改,保密性较好
编译型语言的缺点:
代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行
解释型语言:
解释型语言就类似与人类的翻译官似的,你说一句中文,然后翻译官现场翻译,你说一句,翻译一句
python、java、php、ruby
解释型语言的优点:
可移植性较好,只要有解释环境,可在不同的操作系统上运行
解释型语言缺点
运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程
python程序安装:
windows安装:
1
、下载安装包
https:
/
/
www.python.org
/
downloads
/
2
、安装
默认安装路径:C:\python27
3版本安装可以勾选自动配置环境变量,不需要人工配制
3
、配置环境变量
【右键计算机】
-
-
》【属性】
-
-
》【高级系统设置】
-
-
》【高级】
-
-
》【环境变量】
-
-
》【在第二个内容框中找到 变量名为Path 的一行,双击】
-
-
> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号
linux安装:
无需安装,原装Python环境
centos默认安装的2.6.6
ubuntu默认安装2.6版本和3版本
python的第一个程序
print("Hello World!")
python变量定义:
- 变量能以数字开头,数字可以在中间
- 变量首字母不大写
- 变量不能使用关键字,例如python内置的print、input
python变量定义:
- 变量能以数字开头,数字可以在中间
- 变量首字母不大写
- 变量不能使用关键字,例如python内置的print、input
python中的常量:
常量的定义方法和变量的定义方法一样,只是变量名全部大写
python的注释:
以井号开头表示注释一行
三个单引号和三个双引号表示注释一段
print(age_1_oldboy,age_1_oldboy,age_of_oldboy)
print(age_1_oldboy,age_1_oldboy,age_of_oldboy)
print(age_1_oldboy,age_1_oldboy,age_of_oldboy)
print(age_1_oldboy,age_1_oldboy,age_of_oldboy) '
''
单行注释: #print("hello world") 多行注释也可以使用这种方法
#print("hello world")#print("hello world")
#print("hello world")#print("hello world")
python中的流程控制
if判断流程:
if
条件: print() else: print()
例子:
多条件if判断
if
条件: print() elif 条件: print() else: print()
例子:
guess_age
= int(input("guess_age:")) if guess_age == age_of_oldboy: print("you guess it ..") elif guess_age > age_of_oldboy: print("think small...") else: print("think big....")
Python格式化输出
age = input("age:")
job = input("job:")
hobby = input("hobby:")
# print("my name is",name,"I am age",age,"years old,\n",
# "my job is ",job,"my hobby is",hobby
#
) #方法1: info = """
---------info name %s------
Name:%s
Age :%s
job :%s
hobby:%s
-------------end-----------
"""%(name,name,age,job,hobby) print(info) #方法2: info2 = """
---------info name {_name}------
Name:{_name}
Age :{_age}
job :{_job}
hobby:{_hobby}
-------------end-----------
""".format( _name=name, _age=age, _job=job, _hobby=hobby ) print(info2) #方法3 info3 = """
---------info name {0}------
Name:{0}
Age :{1}
job :{2}
hobby:{3}
-------------end-----------
"""
.format( name,age,job,hobby) print(info3)
python day 1--python初始的更多相关文章
- python ctypes 探究 ---- python 与 c 的交互
近几天使用 python 与 c/c++ 程序交互,网上有推荐swig但效果都不理想,所以琢磨琢磨了 python 的 ctypes 模块.同时,虽然网上有这方面的内容,但是感觉还是没说清楚.这里记录 ...
- [转]python ctypes 探究 ---- python 与 c 的交互
近几天使用 python 与 c/c++ 程序交互,网上有推荐swig但效果都不理想,所以琢磨琢磨了 python 的 ctypes 模块.同时,虽然网上有这方面的内容,但是感觉还是没说清楚.这里记录 ...
- Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print(" ...
- [ Python入门教程 ] Python字典数据类型及基本操作
字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中.字典中的"值"通过&qu ...
- python for循环 - python基础入门(11)
在python开发中,除了前篇文章介绍的while循环还有一个for循环也经常使用,两者使用都是大同小异,for循环的使用相对于while循环更加灵活,下面我们一起来了解下具体区别. 一.for 循环 ...
- 【Python开发】python集成开发环境IDE搭建
http://blog.csdn.net/pipisorry/article/details/39854707 使用的系统及软件 Ubuntu / windows Python 2.7 / pytho ...
- Python for循环 - Python零基础入门教程
目录 一.for 循环语法 二.for 循环实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python ...
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- 【Python大系】Python快速教程
感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容很多,加上各种标准库.拓展库, ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
随机推荐
- 协程、异步IO
协程,又称微线程,纤程.英文名Coroutine,协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器 ...
- Java BigDecimal和double
BigDecimal类 对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDecimal类,而且使用BigDecimal类也可以进行大数 ...
- 使用sql语句创建修改SQL Server标识列(即自动增长列)
一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...
- 【转载】Keil中的USE MicroLib说明
在keil建立ARM的工程时 其中有一项是选 use MicroLIB 由于对KEIL不是很熟悉,于是就查了查,得到了以下信息: microlib 是缺省 C 库的备选库. 它旨在与需要装入到极少量内 ...
- 关于import caffe出错的解决
[http://blog.csdn.net/wuzuyu365/article/details/52431062]关于在caffe下,import caffe报错的解决:conda install p ...
- [转]细说Redis监控和告警
原文 https://zhuoroger.github.io/2016/08/20/redis-monitor-and-alarm/? 对于任何应用服务和组件,都需要一套完善可靠谱监控方案. 尤其r ...
- Tomcat Connector三种运行模式(BIO, NIO, APR)的比较和优化
Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...
- SpringMVC中利用@InitBinder来对页面数据进行解析绑定
同步发布:http://www.yuanrengu.com/index.php/springmvc-user-initbinder.html 在使用SpingMVC框架的项目中,经常会遇到页面某些数据 ...
- IE6 跟随滚动解决方法
position:fixed;_position:absolute; left:0px; top:350px;_top:expression(documentElement.scrollTop +do ...
- git usage:常用git命令
最近在改TV media相关的测试用例,需要在git上维护相关的脚本,把常用命令总结如下,方便以后使用. 1. 从已有git服务器上clone到本地, 首先进入用户根目录: cd ~ 然后进行clon ...