2018.01.21 周六--【技术文章】《初识Python》

1.前言

    早就知道Python这一语言,总能在技术博客,公众号里看到,感觉呼声比PHP,Java都高,2018了,咱们也跟一跟吧,“人生苦短,我用Python”。

人生苦短,我用Python

2.语言本身

    2.1特点


    【01 胶水语言】:Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

    【02 开发哲学】:Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。

    【03 强类型】:Javascript和PHP是弱类型的,Python和Ruby是强类型的。弱类型允许不安全的类型转换,强类型则不允许。

     2.2 语法


    【01 缩进是语法】:Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。

    【02 函数定义】:

    ==函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()

    == python 使用 lambda 来创建匿名函数。

Python的语言标志

    【03 注释】:python 中多行注释使用三个单引号(''')或三个双引号(""”)。

    【04 其他】:print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,

    【05 字符串】:

        ==如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串。s = ‘ilovepython’;s[1:5]的结果是love。

        == 字符串链接, printstr+"TEST"# 输出连接的字符串

    【06 列表】:

        == List(列表) 是 Python 中使用最频繁的数据类型。

        == list.append('Google')   ## 使用 append() 添加元素

    【07 元组】:

        == 元组是另一个数据类型,类似于List(列表)。元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

    【08 字典】:

        == 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

        == 字典键的特性:字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。


Python脑图

    【09 字符串—区别】:字典和列表、元组在构建上有所不同。列表是方括号 [],元组是圆括号 (),字典是花括号 {}。

     不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。

    【10 语句】: Python pass是空语句,是为了保持程序结构的完整性。

    【11 是否可以改变变量】:

    在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

    不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

    可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

    【12 模块】:from fib import fibonacci & import 

    【13 I/O】:

    == 输入: raw_input ,input

3.安装&使用

    3.1 安装Python


以下为在Unix & Linux 平台上安装 Python 的简单步骤:

1)打开WEB浏览器访问http://www.python.org/download/

2)选择适用于Unix/Linux的源码压缩包。

3)下载及解压压缩包。

4)如果你需要自定义一些选项修改Modules/Setup

5)执行 ./configure 脚本

6)make

7)make install

    执行以上操作后,Python会安装在 /usr/local/bin 目录中,Python库安装在/usr/local/lib/pythonXX,XX为你使用的Python的版本号。

    python -V

Python的应用

3.2 运行Python


有三种方式可以运行Python:

1、交互式解释器:

2、命令行脚本:python script.py

3、IDE运行(如PyCharm)

3.3 中文编码


    Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

    解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了

    注意:#coding=utf-8 的 = 号两边不要空格。

    注意:Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。

4. 代码实践

    4.1 hello world


$python

>>>print('Hello World!')

    4.2 面向对象

代码在GitHub上的源码地址:http://t.cn/RQjcvfl

    代码如下图,这里创建了一个对象 CommonPyClass,函数run()是入口函数,里面调用需要运行的实际的函数。

Python面向对象

5. 写在最后

    Python的内容远不止这些,本文主要是简单说了其语法了,简单的面向对象的demo,后续会有Python的CGI,GUI编程,链接数据库,以及在机器学习,大数据,自动化运维等诸多方面的应用,今天就先写到这里,欢迎大家关注后续的文章更新。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容

  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,557评论 1 118
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,211评论 4 16
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,131评论 0 13
  • 两本不错的书: 《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。 《Python核心编程...
    静熙老师哈哈哈阅读 3,359评论 0 80
  • 作者 | 怡洁Yuki 是的,你没有看错,而我也没有危言耸听。 如此这般的言论并不是我凭空想象出来,相反地,它是来...
    黑岛周记阅读 15,088评论 125 204