零基础学python—常用语句和类

2-1 正规地说一句话

  • python中包含哪些语句
    1 . 赋值语句
    2 . if语句,当条件成立时运行语句块。经常与else, elif(相当于else if)配合使用。
    3 . for语句,遍列列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
    4 . while语句,当条件为真时,循环运行语句块。
    5 . try语句。与except, finally, else配合使用处理在程序运行中出现的异常情况。
    6 . class语句。用于定义类型。
    7 . def语句。用于定义函数和类型的方法。
    8 . pass语句。表示此行为空,不运行任何操作。
    9 . assert语句。用于程序调适阶段时测试运行条件是否满足。
    10 . with语句。Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加锁,然后在语句块运行退出后释放锁。
    11 . yield语句。在迭代器函数内使用,用于返回一个元素。
    12 . raise语句。抛出一个异常。
    13 . import语句。导入一个模块或包。常用写法:from module import name, import module as name, from module import name as anothername
  • 序列赋值
    如果左边的变量是序列,右边的对象也是序列,两者将一一对应地进行赋值

2-2 print能干的事情

  • eval

help(eval)
把字符串中符合python表达式的东西计算出来

  • print详解
    1 . %d,只能输出整数,int类型
    2 . %4d,要求该整数占有四个位置,若整数位数不够,在前面增加空格
    3 . %f,输出浮点数
    4 . %.2f,按要求输出小数位数,如果要求的小数位数过多,后面就用0补全
  • print3,请用print(),要加个括号
  • print有一个特点,就是输出的时候,每行后面都自动加上一个换行符号\n,
    加逗号可取消换行

2-3 从格式化表达式到方法

  • %表达的一种输出格式化表达式
    str.format,表达一种格式化方法
  • 基本的操作
    所谓格式化方法,就是可以先建立一个输出字符串的模板,然后用format来填充模板的内容

2-6 难以想象的for

  • for的基本操作
    1 . for是用来循环的,是从某个对象那里依次将元素读取出来
    2 . for支持str、list、set、tuple、dict、文件、列表解析式

2-7关于循环的小伎俩

  • range
  • zip
    1 . zip()的作用就是把list1和list2两个对象中的对应元素放到一个元组(a,b)中
    2 . zip(*),zip的反向操作,解压缩
    3 . enumerate

2-8 让人欢喜让人忧的迭代

1 . 循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。
2 . 迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。
3 . 递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。
4 . 遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。

  • 逐个访问
    可迭代对象:常常将那些能够用for来一个一个读取元素的对象,就称之为可迭代的对象。那么for也就被称之为迭代工具。所谓迭代工具,就是能够按照一定顺序扫描迭代对象的每个元素(按照从左到右的顺序)

2-9 大话题小函数(1)

  • lambda

1 . 在lambda后面直接跟变量
2 . 变量后面是冒号
3 . 冒号后面是表达式,表达式计算结果就是本函数的返回值

  • map
    基本样式是:map(func, seq),func是一个函数,seq是一个序列对象。
    在执行的时候,序列对象中的每个元素,按照从左到右的顺序,依次被取出来,并塞入到func那个函数里面,并将func的返回值依次存到一个list中

2-10 大话题小函数(2)

  • reduce
    map是上下运算,reduce是横着逐个元素进行运算,并产生单个值
  • filter

2-11 Python文档

  • 查看python文档

1 .
dir(list)
help(list._____mul_)
2 .
还有一个文档:doc,help调用的其实就是这个函数里面的内容
print(list._____mul_._____doc_)

  • 给自己的程序加上文档
    在你所编写的程序中用三个双引号或者单引号成对地出现,中间写上有关文档内容。

2-12 重回函数

  • 函数的基本结构
    参宿的意义完全取决于对象的类型。在python中,将这种依赖关系,称之为多态
    python中为对象编写接口,而不是为数据类型。
  • 注意事项
    空白行在交互模式提示符下很重要。模块文件中符合语句内的空白行常被忽视。但是,当你在交互模式提示符下输入代码时,空白行则是会结束语句。

2-13 不确定参数的数量

  • *arg
    如果输入的参数过多,其它参数全部通过*arg,以元组的形式传给了参数(变量)arg。请看官注意,我这里用了一个模糊的词语:参数(变量),这样的表述意思是,在传入数据前,arg在函数头部是参数,当在函数语句中,又用到了它,就是变量

2-16 类的基本认识

  • 面向对象
    对象指的是类的实例

2-17 编写类之一创建实例

  • 创建类
    类的名称一般用大写字母开头,这是惯例
class Person:
    def __init__(self, name, lang, website):
        self.name = name
        self.lang = lang
        self.website = website

1 . 首先呈现出来的是一个名为:_init()
的函数,注意,这个函数是以两个下划线开始,然后是init,最后以两个下划线结束。
2 . 类就是一种对象类型
3 . 在构建Person类的时候,首先要做的就是对这种类型进行初始化,也就是要说明这种类型的基本结构,一旦这个类型的对象被调用了,第一件事情就是要运行这个类型的基本结构,也就是类Person的基本结构
4 . 在类中,基本结构是写在_init
()
这个函数里面。故这个函数称为构造函数,担负着对类进行初始化的任务
5 . 当类Person实例化后立刻运行_init_()函数

  • 类和实例

  • self的作用
    1 . 在类内部,我们会写很多不同功能的函数,这些函数在类里面有另外一个名称,曰:方法
    2 . 通过类的构造函数中的参数传入的这些数据也想在各个方法中被使用,就需要在类中长久保存并能随时调用这些数据。为了解决这个问题,在类中,所有传入的数据都赋给一个变量,通常这个变量的名字是self
    3 . 在构造函数中的第一个参数self,就是起到了这个作用——接收实例化过程中传入的所有数据,这些数据是通过构造函数后面的参数导入的。显然,self应该就是一个实例(准确说法是应用实例),因为它所对应的就是具体数据

    类的实例info对应着self,info通过self导入实例属性的所有数据
    self.name中的name和构造函数的参数name没有任何关系,它们两个一样,只不过是一种起巧合(经常巧合),或者说是写代码的人懒惰,不想另外取名字而已,无他

2-18 编写类之二方法

  • 编写和操作方法
    编写方法的过程和编写一个函数的过程一样,需要注意的就是要在参数列表中第一个写上self,即使没有其它的参数

2-20 编写类之四再论继承

2-21 命名空间

  • 所谓的命名空间,就是这些命名(名称)的集合,它们分别与相应的对象有对应关系
  • 命名空间是从所定义的命名到对象的映射集合
  • 程序在查询上述三种命名空间的时候,就按照从里到外的顺序,即:Local Namespaces --> Global Namesspaces --> Built-in Namesspaces

2-22 类的细节

  • 绑定和无绑定方法
    无绑定类方法对象:无self
    绑定实例方法对象:有self
  • 调用绑定实例方法对象
  • 调用无绑定类方法对象
    不通过实例,而是用类进行点号运算来获得方法函数(ClassName.method_function)
    调用的时候必须传入实例做为第一参数

2-23 Import 模块

  • 认识模块

import random
help(random) #在终端运行

https://docs.python.org/2/library/

2-24 模块的加载

  • import的工作流程
    1 . 搜索。就是python要能够找到import的模块
    2 . 编译。找到模块文件之后,将其编译成字节码,就是那个.pyc文件里面的。注意,不是什么时候都编译的,只有第一次运行时候才编译
    3 . 运行

2-25 私有和专有

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

推荐阅读更多精彩内容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,775评论 1 10
  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 1,461评论 0 6
  • 定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类...
    绩重KF阅读 3,924评论 0 13
  • 刚刚大结局了的「军师联盟」,讲的是司马懿的故事。司马懿的故事自然离不开曹操、夺嫡、美人甄宓。 BTW,这位韩式美女...
    VK_1536阅读 235评论 0 1
  • 这周,学习上开始背口语课本,之前口语课本基本就是上课用一用,上课有时候也不太用,因为最后考试就是跟外教聊十五分钟天...
    sxrunn阅读 158评论 0 2