码迷,mamicode.com
首页 > 编程语言 > 详细

第一节 python基础

时间:2015-04-12 06:48:03      阅读:222      评论:0      收藏:0      [点我收藏+]

标签: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基础

标签:python

原文地址:http://tenderrain.blog.51cto.com/9202912/1631417

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!