python2与python3的区别

Python 分类:

C 和 Python、Java、C#等

    C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

Python 和 C  Python这门语言是由C开发而来

  对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
  对于速度:Python的运行速度相较与C,绝逼是慢了

Python 和 Java、C#等

  对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
  对于速度:Python在速度上可能稍显逊色

所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。

Python种类

Cpython
   Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

Jyhton

    Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。

IronPython
    Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)

PyPy(特殊)
    Python实现的Python,将Python的字节码字节码再编译成机器码。

RubyPython、Brython ...

Python安装:并且安装Pycharm软件

  windows:

1、下载安装包
    https://www.python.org/downloads/
2、安装
    默认安装路径:C:\python27
3、配置环境变量
    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
    如:原来的值;C:\python27,切记前面有分号
pycharm远程调试:
tools--》development--》Configure

远程调用python:file--->settings--->Project:python---->(Project Interpreter)

 

 

 

  linux:

无需安装,原装Python环境

ps:如果自带2.6,请更新至2.7
查看默认Python版本
python -V
 
1、安装gcc,用于编译Python源码
    yum install gcc
2、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装
    ./configure
    make all
    make install
5、查看版本
    /usr/local/bin/python2.7 -V
6、修改默认Python版本:重要
    mv /usr/bin/python /usr/bin/python2.6
    ln -/usr/local/bin/python2.7 /usr/bin/python 
7、防止yum执行异常,修改yum使用的Python版本
    vi /usr/bin/yum
    将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
 MAC os:
安装程序.mdg
 
执行Python代码方法:
方法一:python /home/dev/hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行
方法二:./hello.py 
#!/usr/bin/env python
print "hello,world"
chmod 755 hello.py

Python代码的注释方法:

  当行注视:# 被注释内容

  多行注释:""" 被注释内容 """

变量定义的规则:

变量名只能是 字母、数字或下划线的任意组合

变量名的第一个字符不能是数字

以下关键字不能声明为变量名

['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

#!/usr/bin/env python

# -*- coding: utf-8 -*-
name = input("请输入用户名:")  # 将用户输入的内容赋值给 name 变量
print name   # 打印输入的内容
知识点:输入密码不可见
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import getpass
pwd = getpass.getpass("请输入密码:")
print pwd # 打印输入的内容

Python基本数据类型:

1.数字

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"

字符串格式化:

  方法一:万恶的字符串拼接:

  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空间,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
name = input("Name:").replace(' ', '')
age = int(input("Age:").replace(' ', ''))
job =input("Job:").replace(' ', '')
print("Information of []:"+name +"\nName:[]"+name + "\nAge:[]"+age +"\nJob")
方法二:
name = input("Name:").replace(' ', '')
age = int(input("Age:").replace(' ', ''))
job =input("Job:").replace(' ', '')
#print("Information of %s:\nName:%s\nAge:%s\nJob:%s"%(name,name,age,job))
或者
name = input("Name:").replace(' ', '') #将空格替换为空
age = int(input("Age:").replace(' ', ''))
job =input("Job:").replace(' ', '')
msg = '''         #'''表示换行,无需再输入\n
Information of %s:
   Name:%s
   Age:%d
   Job:%s
'''%(name,name,age,job)
print(msg)
PS: 字符串是 %s;整数 %d;浮点数%f
字符串常用功能
  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
4.列表:
创建列表:
name_list = ['alex''seven''eric']
name_list = list(['alex''seven''eric'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
 5.、元组
创建元组:
ages = (1122334455)
ages = tuple((1122334455))
基本操作:
  • 索引
  • 切片
  • 循环
  • 长度
  • 包含

 6、字典(无序)

创建字典:

person = {"name""mr.wu"'age'18}

person = dict({"name""mr.wu"'age'18})

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
PS:循环,range,continue 和 break

Python运算

算数运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算符优先级:

Python文本的基本操作:

打开文件:
  file_obj = file("文件路径","模式")
打开文件的模式有:
  • r,以只读方式打开文件
  • w,打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • a,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • w+,打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。