python的历史

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。

像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

python的简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

python 是一种解释性语言,交互性语言,面向对象的语言,初学者的语言

python的特点

易于学习 ,易于阅读 ,易于维护

互动模式,便携式 ,可扩展

数据库,GUI编程,可扩展性

一个广泛的标准库

python 下载

Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到:

Python官网:http://www.python.org/

你可以在一下链接中下载Python的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。

Python文档下载地址:www.python.org/doc/

python 安装

linux系统自带python

分别为centos和xubuntu

xubuntu14.10

centos6.5
  1. [root@git learn]# python
    Python2.6.6(r266:84292,Jan222014,09:42:36)
    [GCC 4.4.720120313(RedHat4.4.7-4)] on linux2
    Type"help","copyright","credits"or"license"for more information.
    >>>

      

python升级

centos6.5 默认安装的是python2.6.6

首先

关闭防火墙

  1. chkconfig iptables off
    service iptables stop

      

禁止selinux

  1. vim /etc/selinux/config
    改为: SELINUX=disabled
    [root@git ~]# setenforce 0

      

epel源

  1. wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    rpm -ivh epel-release-6-8.noarch.rpm

      

时间同步
  1. crontab -e
    ntpdate 202.120.2.101
    151***/usr/sbin/ntpdate 202.120.2.101;/usr/sbin/hwclock -w >/dev/null 2>&1

      

1 编译安装

  1. yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget curl  gcc openssh openssh-clients python-devel gcc-c++ automake swig libsodium
    
    wget --no-check-certificate https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
    wget http://mirrors.sohu.com/python/2.7.8/Python-2.7.10.tgz (国内源 比较快)
    tar xf Python-2.7.10.tgz
    cd Python-2.7.10
    ./configure --prefix=/usr/local/yoho/python2.7.10
    make && make install

      

2 脚本安装解决yum源问题
  1. #!/bin/bash
    yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget curl gcc openssh openssh-clients python-devel gcc-c++ automake swig libsodium openssh openssl
    #--------------------------------------python-------------------------------
    wget http://mirrors.sohu.com/python/2.7.8/Python-2.7.10.tgz
    tar xf Python-2.7.10.tgz-C /opt
    cd /opt
    cd Python-2.7.10
    ./configure --prefix=/usr/local/yoho/python2.7.10
    make && make install
    [ $?==0 ]&& echo "successful"|| exit 1
    #---------------------------------------yum---------------------------------
    mv /usr/bin/python /usr/bin/python-old
    ln -s /usr/local/yoho/python2.7.10/bin/python /usr/
    py_version=`python -V`
    sleep 1
    py_yum=`sed -n "/^#/p"/usr/bin/yum | cut -d /-f 4`
    [ ${py_yum}=="python2.6"]&& echo "yum is ok" && exit 0
    sed -i s@\#\!\/usr\/bin\/python@\#\!/usr/bin/python2.6@ /usr/bin/yum
    yum list>/dev/null
    [ $?==0 ]&& echo "successful"|| exit 4
    echo "yum is ok."

      

首先当然是  python 彩蛋

  1. >>>importthis
    TheZen of Python, by TimPeters
    Beautiful is better than ugly.
    Explicit is better than implicit.
    Simple is better than complex.
    Complex is better than complicated.
    Flat is better than nested.
    Sparse is better than dense.
    Readability counts.
    Special cases aren't special enough to break the rules.
    Although practicality beats purity.
    Errors should never pass silently.
    Unless explicitly silenced.
    In the face of ambiguity, refuse the temptation to guess.
    There should be one-- and preferably only one --obvious way to do it.
    Although that way may not be obvious at first unless you're Dutch.
    Now is better than never.
    Although never is often better than *right* now.
    If the implementation is hard to explain, it's a bad idea.
    If the implementation is easy to explain, it may be a good idea.
    Namespaces are one honking great idea -- let's do more of those!
    >>>

      

八荣八耻

以动手实践为荣,以只看不练为耻。
以打印日志为荣,以单步跟踪为耻。
以空白分隔为荣,以制表分隔为耻。
以单元测试为荣,以手工测试为耻。
以代码重用为荣,以复制粘贴为耻。
以多态应用为荣,以分支判断为耻。
以Pythonic为荣,以冗余拖沓为耻。
以总结思考为荣,以不求甚解为耻。

  

先来个复杂的  python终端介绍

  1. >>>if2>1:
    ... print "2 da yu 1 " #python默认缩进4个空格
    ...else: #跟shell不一样的地方 每个判断语句关键词后面加 :
    ... print "2 xiao yu 1" #打印输入用print
    ... #python的次提示符
    2 da yu 1 #输出的结果
    >>> #python的提示符
    python 第一个程序
    >>> print "hello world "
    hello world
    >>>

      

python执行过程

 
 
 

解释器

如果想要像shell脚本一样执行python需要在python脚本文件的开头指定解释器 
root@bds:/Data/project/oneday# vim hello.py
root@bds:/Data/project/oneday# vim hello.py
#!/usr/bin/env python #在文件的开头并顶头写
print "hello world"
root@bds:/Data/project/oneday# chmod 755 hello.py #赋予执行的权限
root@bds:/Data/project/oneday# python hello.py
hello world

  

编码风格

ASCII  :(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
 
Unicode:(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,

注:此处说的的是最少2个字节,可能更多

UTF-8 : 是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

gbk 和utf-8的不同

GBK编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符“gb2312”,这种字符仅能存储简体中文字符。

UTF-8编码:它是一种全国家通过的一种编码,如果你的网站涉及到多个国家的语言,那么建议你选择UTF-8编码。

GBK和UTF8有什么区别?

UTF8编码格式很强大,支持所有国家的语言,正是因为它的强大,才会导致它占用的空间大小要比GBK大,对于网站打开速度而言,也是有一定影响的。

GBK编码格式,它的功能少,仅限于中文字符,当然它所占用的空间大小会随着它的功能而减少,打开网页的速度比较快。

gbk和utf-8的转换关系

 

操作

  1. >>>"步"
    '\xb2\xbd' #现在是gdk编码
    >>> str1 ='\xb2\xbd' #赋值变量
    >>> str1.decode("gbk") #解码
    u'\u6b65' #u 最前面u代表unicode 已经解码为unicode
    >>> a = str1.decode("gbk").encode("utf-8") # 一步操作 再把unicode编码为utf-8
    >>>print a # 打印a出来 如下是一个utf-8编码的字

      

显示中文

  1. #!/usr/bin/env python
    # -*- coding:uft-8 -*- #加上编码注释 避免出错 固定格式
    print "你好 ,世界"
    这样就可以打印中文 ,为了避免忘记 ,以后再编程过程中 ,要默认添加

      

    python 注释

# ooxx                 单行注释
""" ooxx """ 多行注释
#! /usr/bin/env python
#coding=utf-8
"""this is input hello world"""
print "hello world"                  #intut something
root@bds:/Data/project/learn# python helloworld.py
hello world
root@bds:/Data/project/learn
 

python  变量

 
a = r'\n'      #输出原型打印
a = u'中文' #定义为unicode编码
global a # 定义a为全局变量
 

python  数据类型

    数据类型的组成 
    1 身份ID : id(a) 唯一标识符 每一个数据的标识符都是不一样的
    2 类型  :    type(a)
    3 值  :  
    python 里面一切都是指针
 
 

常用的数据类型

字符串             #str
布尔类型 #bool
整数 #int
浮点数 #float
列表 #list
元组 #tuple
字典 #dict
 
 
 
 
 
 
 
 

python 入门1的更多相关文章

  1. python入门简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  2. python入门学习课程推荐

    最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...

  3. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

  4. Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  5. Python基本语法,python入门到精通[二]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...

  6. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  7. python入门教程链接

    python安装 选择 2.7及以上版本 linux: 一般都自带 windows: https://www.python.org/downloads/windows/ mac os: https:/ ...

  8. Python学习【第二篇】Python入门

    Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...

  9. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  10. Python入门版

    一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...

随机推荐

  1. [转贴]C编译过程概述

    http://my.oschina.net/apeng/blog/105245 C 编译过程概述 目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是G ...

  2. QWidget与HWND的互相转换

    QWidget与HWND的互相转换 在编写Windows的应用程序时,我们有时不可避免地要与Windows平台固有的Win32 API打交道,但是Win32 API里面常常用到的HWND等诸多句柄QT ...

  3. Android Training精要(三)不同分辨率图片缩放倍数

    各DPI图片倍率 xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0.75 这就意味着如果有一张xhdpi下200*200的图片, 你应该提供同样的图片 ...

  4. Programming in lua 环境

    Lua 用一个名为environment 普通的表来保存所有的全局变量.(更精确的说,Lua在一系列的environment 中保存他的“global”变量,但是我们有时候可以忽略这种多样性)这种结果 ...

  5. [置顶] linux内核启动1-启动参数(启动参数的获取和处理,分析setup_arch)

    最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动. 看的过程中总结了一点东西,希望可以帮助大家调试内核. 当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人 ...

  6. 转自 x_x_的百度空间 搞ACM的你伤不起

    来源:http://roba.rushcj.com/?p=548 劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!! ...

  7. Ajax长连接应用

    所谓的长连接,就是不断去发送请求,把请求阻塞在服务器端,每次超过请求时间就去重新发送请求,保持连接,随时获取服务器端的响应的数据 function connection(){ $.ajax({ typ ...

  8. Muduo-Base-Exception(未完待续)

    Exception类 主要功能: 能够对异常信息进行输出 能够输出调用的关系 方便我们对某些信息进行调试 系统调用:#include <execinfo.h>int backtrace(v ...

  9. NopCommerce架构分析(转载)

    原文 一,NopCommerce架构分析之开篇 NopCommerce是.net开源项目中比较成熟的一款业务应用框架,也是电子商务系统中的典范.所以很想多学习一下里面的设计和实现方式. 二,NopCo ...

  10. JavaScript高级程序设计43.pdf

    事件类型 Web浏览器中有很多事件类型,“DOM3级事件”规定了以下几类事件 UI事件(用户界面),当用户与页面上的元素交互时触发: 焦点事件,当元素获得或失去焦点时触发 鼠标事件,当用户通过鼠标在页 ...