python基础教程1

python作为一种编程语言,诞生于1990年左右,算是一门比较年轻的语言(也算是90后吧),它是面向对象的,但不同于JAVA\C#那么严格要求一切皆对象,更接近于C++,是面向过程和面向对象的结合;它是解释型语言,但是也可以编译成 .pyc 跨平台的字节码文件(由类似于JAVA 的 .class 文件,由python虚拟机来执行),.pyc 文件有几个好处,一是可以简单的隐藏源码,二是提高载入速度,三是跨平台。

编译:python -m py_compile test.py 会生成 test.pyc 文件

python -O -m py_compile test.py 会生成 test.pyo 文件,就是 .pyc 的简单优化。

批量编译一个文件夹中所有的 .py 文件,可以使用 python -m compileall dirname

 

在 windows 下执行 .py/.pyc 文件时,默认会有闪现一个dos窗口,如果不要这个窗口,可以将 .py/.pyc 的文件后缀改成 .pyw 即可。

其实这种改动,并没有本质上的区别,真正的区别在于 .py/.pyc 文件默认调用 python.exe 来执行,而 .pyw 文件默认调用 pythonw.exe 执行,仅此而已。(w 表示窗口)

 

python 也有动态链接库,如 linux 下的 .so 或 windows 下的 .dll。

 

可以通过 python -m pdb test.py 来调试python程序,方法基本与gdb相同。

 

python 的用武之地

由于本人并非python开发者,所知有限,欢迎补充。

1、服务器维护脚本,比 shell 脚本可强大得多。

2、服务端程序

3、胶水程序,如游戏开发中的任务脚本等

4、WEB开发,如 django \web.py 等

5、手游开发,如 cocos-2dx 就有 python 版。

6、桌面应用开发,如 wxpython等等。

7、云,如 openstack

 

 

优点:

1、代码风格优雅(见仁见智了)

2、一次编写,随处运行(这句话不是JAVA的特权)

3、即写即运行

4、由于胶水特性,性能要求高的地方可以使用c/c++来编写。

5、简单易学,所以接下来,不必紧张,请愉快的学习它吧

6、开源 

7、庞大的标准库

 

缺点:

1、tab 与 空格带来的噩梦

2、性能,不过可以通过胶水特性弥补

3、python2 与 3之间的抉择

 

IDE

交互式解释器:windows\linux

源码执行:windows\linux

 

与 perl\php\lua\ruby 的对比

最近的语言使用排行榜。

 

python是蟒蛇的意思,如华蟒的由来。

 

不必紧张,请保持愉快,python是一门简单且功能强大的语言。

 

弱类型,但是大小写敏感。

int   long  float  str  bool

字符串是不可变的

 

注释

 

#!/usr/bin/python
#coding:utf-8

chmod +x test.py

 

分号的用武之地:

python可以不使用分号,唯一必须要使用分号的场所为将多行语句写在同一行的时候,如:

i=3;j=4

 

但推荐一行只写一个语句。将多行写成一行是不被推荐的,但有时却需要把一行写成多行,则需要使用行连接符号 \,如:

print i

 

另外,列表、元组可以不需要行连接符号,即可拆成多行书写,如:

mytuple=(3,
4,5,)

 

转义符 \

 

同一层次的语句必须要有相同的缩进。

不要混用制表符和空格来缩进。

SyntaxError: invalid syntax

 

int/int == int,如 3/2 的结果是1,同 c/c++,如果要得到浮点结果,则两数字至少要有一个是浮点数,如 3.0/2 或 3/2.0 即可。也可以 from __future__ import division ,或以 python -Qnew 的方式启动python交互解释器。

 

关于 import 与 include

 

str 与 repr(``)

input 与 raw_input

原始字符串 r

 

 

 

------------------------------------------------

序列和映射:

列表类似于其它语言中动态可变的数组,如 c++的vector,java的 arraylist ,索引也是从0开始,但不同的是,python的列表索引还可以从反向开始,最后一个元素为-1,倒数第二个为-2……

六种序列:列表、元组、字符串、Unicode字符串、buffer对象和 xrange对象。

元组用作配置文件的情况非常常见。

通用序列操作:

分片操作,如果熟知 go 语言,会有助于理解。

 

字符串是不可变的,更类似于 tuple。

格式化字符串,%s,%d,%f,%%

模板字符串

print ‘ab‘,‘cd‘    会输出 ab cd,中间会自带空格,如果不需要空格  print ‘ab‘,‘\bcd‘ 即可,或 print ‘ab‘+‘cd‘

 

 

 

i = int()   --> i = 0

b = bool()   --> b = False

 

强制类型转换

 

str\unicode\basestring

print isinstance(‘a‘,basestring)  仅适用于 str 和 unicode

 

下面不仅适用于str和unicode,且适用于 UserString ,不过比较慢

python基础教程1
def isStringLike(obj):
    try:obj+‘‘
    except:return False
    else: return True

print isStringLike(3)
python基础教程1

python基础教程1,布布扣,bubuko.com

python基础教程1

上一篇:是时候选择Go语言了,12大理由高速你为什么


下一篇:Visual Studio 2019 打开项目加载失败:无法找到 .NET Core SDK。请检查确保已安装此项且 global.json