标签:python
心灵鸡汤:
1,今天的苦逼是为了不这样一直苦逼下去!
2,今天之所以苦逼,是因为之前不够努力!
3,今天的你,是由几年前的你决定的!
4,Be a loser for now,or forever!(一时的屌丝or永远的屌丝)
5,不要和傻逼去讲道理,傻逼会把你拉到和他一个水平上,然后用他的经验把你来打败,来说服。
############################
########### python特性 #################
python优点:
简单、优雅、明确
强大的模块(第三方库)-----SMTP、数学运算、爬虫、服务器编程、web开发
易移植
面向对象
可扩展(可以和别的语言结合,称作胶水语言)
缺点:
代码不能加密
速度慢(看应用场合,0.1s和0.0001s人是无法感觉,没有任何区别的)
用python做什么?
--软件开发
游戏后台、搜索、图形界面
网站
C\S软件
科学运算
--系统管理
脚本
IT自动化工具
C\C++,Java(可以在windows和linux跨平台开发),Python,PHP(web开发语言),Ruby,Go(google的语言,docker使用go语言开发的)
动态语言:Python、PHP、Ruby
静态语言:C\C++,Java,go
静态语言在执行之前需要进行一次编译,即把明文代码转换成CPU可以直接执行的机器指令(直接和CPU打交道,所以速度非常快)
动态语言是解释性语言,即边执行边解释(先转化一点成为CPU可以直接执行的机器指令,执行一点,然后再转换,然后在执行...),所以比一次性编译的过程要稍微慢一点。
python 版本
python2.6兼容python2.4,同时也兼容python3.0的一些特性。python2.7是在2.X当中的最后一个版本,之后就是3.0版本了
第三方的python开发环境如:PythonXY,portable python(免安装版,U盘拷贝过去可以直接使用)
查看版本:python -V
>>> print ‘Hello world!‘----python 2.X语法
Hello world!
>>> print (‘Hello world!‘)-----python 3.X语法
Hello world!
所有的python脚本都是以.py结尾
#!/usr/bin/env python --------告诉系统用什么语言来执行本脚本
python解释器
作用:执行python脚本的时候,解释器把编写的明文代码转换成机器CPU可以识别的机器码,机器码并不是真正的二进制指令,而是介于人可读的编码和真正的二进制指令之间的一种编码。python是动态语言,所以是边执行,边解释。
-Cpython 官方标准
-Ipython
是一个python的交互式shell,比默认的python shell好用很多,支持变量自动补全、自动缩进、支持bash
shell命令,内置许多很有用的功能和函数。可以理解为在Cpython的基础上做一些修饰,但实际执行的时候还是调用Cpython。
-Jython
是一种完整的语言,而不是一个java翻译器或仅仅是一个python编译器,它是一个python语言在java中的完全实现(用java完全把
python重写了一遍,解释器也成了java写的解释器,不是C的解释器)。Jython也有很多从Cython中继承的模块库。最有趣的事情是
Jython不像Cpython或者其他高级语言,它提供了对其实现语言的一切存取---所以Jython不仅给你提供了python的库,同时也提供了
所有的java类,这使其有一个巨大的资源库。
-IronPython 和Jython差不多,只不过是用.net写的一种解释器
-PYPY
是用python写的解释器(据说,速度比Cpython快6倍,速度快是因为:动态编译(just in
time),执行之前,把代码中的类和函数先编译好,所以执行的时候会更快一下【了解即可】。简单理解:中文一句一句翻译告诉对方,变成中文十句十句翻译
告诉对方)
########## 编程风格要求 ##################
-缩进统一
不处于同一级别的代码就必须加缩进!同一级别的代码缩进必须保持一致!
在python中定义的函数默认不会执行,只有在合适的地方调用后才会执行。
定义了函数,即使不调用也会对其做语法检查。在cpu执行之前python会一个个的把函数传递给解释器编程CPU可执行的指令,所以在CPU执行之前,为了避免崩溃,会浏览整个代码检查语法错误,缩进错误,变量定义错误等
-变量(即标识符)
一般全部大写的变量名来表示常量(常量是不能变的量,但如果你一定要改变常量的值,也没人能拦得住你,只是习惯而已),小写字母来表示变量,例如:
PAI=3.1415926
x=2
标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘_‘),即不能以数字开头。
标识符名称的其他部分可以由字母(大写或小写),数字(0-9),下划线(_)组成。
标识符名称是对大小写敏感的。例如,myname和myName不是一个标示符。
有效 标识符的例子有i、__my_name、name_23和alb2_c3。
无效 标识符的例子有2things、this is spaced out、my-name。
备注:变量名一般使用名词而不要使用动词,如果是两个名词的组合,可以采用如下例子的方式:
taskdetail(不推荐)
task_detail(ok)
TaskDetail(ok)
taskDetail(ok 驼峰状)
eg:
[root@robin robin]# cat hello.py
#!/usr/bin/env python
# -- coding:utf-8 --#
def main():
print ‘hello‘
main()
[root@robin robin]# python hello.py
hello
缩进处理后如下:
[root@robin robin]# cat hello.py
#!/usr/bin/env python
# -- coding:utf-8 --#
def main():
print ‘hello‘
main()
[root@robin robin]# python hello.py
File "hello.py", line 4
print ‘hello‘
^
IndentationError: expected an indented block
备注:Indentation 就是缩进的意思
[root@robin robin]# cat hello.py
#!/usr/bin/env python
# -- coding:utf-8 --#
def main():
print ‘hello‘
print ‘==‘ #把这行和def的缩进即使相同也会报错。这种不是嵌套的情况必须是相同且是顶头才可以!
main()
[root@robin robin]# python hello.py
File "hello.py", line 3
def main():
^
IndentationError: unexpected indent
备注:不处于同一级别的代码就必须加缩进!同一级别的代码缩进必须保持一致,否则报错如上!
关于python中变量指向的一个图解:
#######python的数据类型##########
1,按特征划分:
数字类型:
整型:布尔型(True|False)、长整型(L)、标准整型
备注:python中当存放的数据比较大时,会自动转换成长整型(L)
eg:1
>>> a=2**5
>>> a
32
>>> type(a)
<type ‘int‘>
>>> a=2**100
>>> a
1267650600228229401496703205376L
>>> type(a)
<type ‘long‘>
非整型:双精度浮点型、复数、decimal(不是内建类型)
序列类型:字符串(str)、元组(tuple)、列表(list)
eg1:
>>> name=‘alex‘
>>> type(name)
<type ‘str‘>
>>> if type(name) is str:print ‘ddd‘----通过type内置函数判断变量类型
...
ddd
eg2:
>>> name_list = [‘alex‘,‘robin‘,‘rock‘]
>>> type(name_list)
<type ‘list‘>
映像类型:字典(dict)
eg1:
>>> name={‘alex‘:[30,‘IT‘]}
>>> name[‘alex‘]
[30, ‘IT‘]
>>> type(name)
<type ‘dict‘>
集合类型:可变集合(set)、不可变集合(frozenset)
2,按可变性划分:
可哈希的,不可变数据类型:数字类型、字符串(str)、元组(tuple)、不可变集合(frozenset)
可变数据类型:字典(dict)、列表(list)、可变集合(set)
#########运算###################
>>> 1+1*3/2
2
>>> 1+1*3.0/2
2.5
>>> (1+1)*3.0/2
3.0
>>> 2**32
4294967296
>>> A=14
>>> B=12
>>> A>B
True
>>> A<=B
False
>>> A!=B
True
更多python运算,请参考:http://www.w3cschool.cc/python/python-operators.html
视频:30:51
标签:python
原文地址:http://tenderrain.blog.51cto.com/9202912/1631417