自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Python零基础入门学习

Python程序员生活网—http://www.ryxxff.com

  • 博客(61)
  • 收藏
  • 关注

原创 浅谈Python类命名空间

再次重申,Python 的类就像命名空间。Python 程序默认处于全局命名空间内,类体则处于类命名空间内,Python 允许在全局范围内放置可执行代码,当 Python 执行该程序时,这些代码就会获得执行的机会。类似地,Python 同样允许在类范围内放置可执行代码,当 Python 执行该类定义肘,这些代码同样会获得执行的机会。例如,如下程序测试了类命名空间: class I...

2019-07-08 11:30:02 854

原创 Python @函数装饰器及用法(超级详细)

前面介绍的 @staticmethod 和 @classmethod 的本质就是函数装饰器,其中 staticmethod 和 classmethod 都是 Python 内置的函数。使用 @ 符号引用已有的函数(比如 @staticmethod、@classmethod)后,可用于修饰其他函数,装饰被修饰的函数。那么我们是否可以开发自定义的函数装饰器呢?答案是肯定的。当程序使用“@...

2019-07-08 11:30:00 390

原创 Python静态方法和类方法的区别和应用(无师自通)

实际上,Python 完全支持定义类方法,甚至支持定义静态方法。Python 的类方法和静态方法很相似,它们都推荐使用类来调用(其实也可使用对象来调用)。类方法和静态方法的区别在于,Python会自动绑定类方法的第一个参数,类方法的第一个参数(通常建议参数名为 cls)会自动绑定到类本身;但对于静态方法则不会自动绑定。使用 @classmethod 修饰的方法就是类方法;使用 @st...

2019-07-08 11:29:58 709

原创 Python类调用实例方法

前面讲过,在 Python 的类体中定义的方法默认都是实例方法,也示范了通过对象来调用实例方法。但要提醒大家的是,Python 的类在很大程度上是一个命名空间,当程序在类体中定义变量、方法时,与前面介绍的定义变量、定义函数其实并没有太大的不同。对比如下代码: # 定义全局空间的foo函数 def foo (): print("全局空间的foo方法") # 全局空间的...

2019-07-08 11:29:56 4352 2

原创 python self用法详解

对于在类体中定义的实例方法,Python 会自动绑定方法的第一个参数(通常建议将该参数命名为 self),第一个参数总是指向调用该方法的对象。根据第一个参数出现位置的不同,第一个参数所绑定的对象略有区别:在构造方法中引用该构造方法正在初始化的对象。 在普通实例方法中引用调用该方法的对象。由于实例方法(包括构造方法)的第一个 self 参数会自动绑定,因此程序在调用普通实例方法、构造方...

2019-07-08 11:29:54 7272

原创 Python类对象的创建和使用

创建对象的根本途径是构造方法,调用某个类的构造方法即可创建这个类的对象,Python 无须使用 new 调用构造方法。前面章节中,我们已经创建了名为 Python 的类: class Person : '这是一个学习Python定义的一个Person类' # 下面定义了一个类变量 hair = 'black' def __init__(se...

2019-07-08 11:29:53 2714

原创 Python class定义类,Python类的定义(入门必读)

在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。从这个意义上看,日常所说的人,其实都是人的对象,而不是人类。Python 定义类的简单语法如下:class 类名: 执行语句… 零个到多个类变量… 零个到多个方法…类...

2019-07-08 11:29:51 640

原创 Python类变量和实例变量(详解版)

在类体内定义的变量,默认属于类本身。如果把类当成类命名空间,那么该类变量其实就是定义在类命名空间内的变量,在类命名空间内定义的变量就属于类变量,Python 可以使用类来读取、修改类变量。例如,下面代码定义了一个 Address 类,并为该类定义了多个类变量: class Address : detail = '广州' post_code = '510660'...

2019-07-08 11:25:01 1108

原创 Python property函数:定义属性

如果为 Python 类定义了 getter、setter 等访问器方法,则可使用 property() 函数将它们定义成属性(相当于实例变量)。property() 函数的语法格式如下:property(fget=None, fset=None, fdel=None, doc=None)从上面的语法格式可以看出,在使用 property() 函数时,可传入 4 个参数,分别代表...

2019-07-08 11:22:00 496

原创 Python封装机制及实现方法

封装(Encapsulation)是面向对象的三大特征之一(另外两个是继承和多态),它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。封装是面向对象编程语言对客观世界的模拟,在客观世界里,对象的状态信息都被隐藏在对象内部,外界无法直接操作和修改。对一个类或对象实现良好的封装,可以达到以下目的:隐藏类的实现...

2019-07-08 11:21:58 943

原创 Python函数关键字参数及用法

在定义 Python 函数时可定义形参(形式参数的意思),这些形参的值要等到调用时才能确定下来,由函数的调用者负责为形参传入参数值。简单来说,就是谁调用函数,谁负责传入参数值。Python 函数的参数名不是无意义的,Python 允许在调用函数时通过名字来传入参数值。因此,Python 函数的参数名应该具有更好的语义,这样程序可以立刻明确传入函数的每个参数的含义。按照形参位置传入的参...

2019-07-06 11:40:58 665

原创 Python函数使用方法(高级用法)

Python 的函数是“一等公民”,因此函数本身也是一个对象,函数既可用于赋值,也可用作其他函数的参数,还可作为其他函数的返回值。使用函数变量Python 的函数也是一种值:所有函数都是 function 对象,这意味着可以把函数本身赋值给变量,就像把整数、浮点数、列表、元组赋值给变量一样。当把函数赋值给变量之后,接下来程序也可通过该变量来调用函数。例如如下代码: # 定...

2019-07-06 11:40:03 940

原创 Python局部函数及用法

前面所看到的函数都是在全局范围内定义的,它们都是全局函数。Python 还支持在函数体内定义函数,这种被放在函数体内定义的函数称为局部函数。在默认情况下,局部函数对外部是隐藏的,局部函数只能在其封闭(enclosing)函数内有效,其封闭函数也可以返回局部函数,以便程序在其他作用域中使用局部函数。 def get_math_func(type, nn) : # 定义一个...

2019-07-06 11:40:01 341

原创 Python变量作用域(入门必读)

在程序中定义一个变量时,这个变量是有作用范围的,变量的作用范围被称为它的作用域。根据定义变量的位置,变量分为两种:局部变量:在函数中定义的变量,包括参数,都被称为局部变量。 全局变量:在函数外面、全局范围内定义的变量,被称为全局变量。每个函数在执行时,系统都会为该函数分配一块“临时内存空间”,所有的局部变量都被保存在这块临时内存空间内。当函数执行完成后,这块内存空间就被释放了,这...

2019-07-06 11:39:59 167

原创 Python函数参数传递机制(超级详细)

Python 的参数值是如何传入函数的呢?这是由 Python 函数的参数传递机制来控制的。Python 中函数的参数传递机制都是“值传递”。所谓值传递,就是将实际参数值的副本(复制品)传入函数,而参数本身不会受到任何影响。Python 里的参数传递类似于《西游记》里的孙悟空,它复制一个假孙悟空,假孙悟空具有的能力和真孙悟空相同,可除妖或被砍头。但不管这个假孙悟空遇到什么事,真孙悟空都不...

2019-07-06 11:39:58 4063 3

原创 Python可变参数函数用法详解

很多编程语言都允许定义个数可变的参数,这样可以在调用函数时传入任意多个参数。Python 当然也不例外,Python 允许在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入。下面程序定义了一个形参个数可变的函数: # 定义了支持参数收集的函数 def test(a, *books) : print(books) # b...

2019-07-06 11:39:56 772

原创 Python函数默认参数设置(超级详细)

在某些情况下,程序需要在定义函数时为一个或多个形参指定默认值,这样在调用函数时就可以省略为该形参传入参数值,而是直接使用该形参的默认值。为形参指定默认值的语法格式如下:形参名 = 默认值从上面的语法格式可以看出,形参的默认值紧跟在形参之后,中间以英文“=”隔开。例如,如下程序为 name、message 形参指定了默认值: # 为两个参数指定默认值 def say_...

2019-07-06 11:39:54 904

原创 Python函数返回多个值的方法(入门必读)

如果程序需要有多个返回值,则既可将多个值包装成列表之后返回,也可直接返回多个值。如果 Python 函数直接返回多个值,Python 会自动将多个返回值封装成元组。如下程序示范了函数直接返回多个值的情形: def sum_and_avg(list): sum = 0 count = 0 for e in list: # 如果元素e是...

2019-07-06 11:39:51 1549

原创 Python函数(函数定义、函数调用)用法详解

函数是 Python 程序的重要组成单位,一个 Python 程序可以由很多个函数组成。前面我们己经用过大量函数,如 len()、max() 等,使用函数是真正开始编程的第一步。比如在程序中定义了一段代码,这段代码用于实现一个特定的功能。问题来了,如果下次需要实现同样的功能,难道要把前面定义的代码复制一次?如果这样做实在太傻了,这意味着每次当程序需要实现该功能时,都要将前面定义的代码复制...

2019-07-06 11:39:50 888

原创 Python项目实战:数字转人民币读法

本节实现在实际开发中常用的一个工具函数:将一个浮点数转换成人民币读法的字符串,这个程序需要使用数组。实现这个函数的思路是,首先把这个浮点数分成整数部分和小数部分。提取整数部分很容易,直接将这个浮点数强制类型转换成一个整数即可,这个整数就是浮点数的整数部分;再使用浮点数减去整数就可以得到这个浮点数的小数部分。然后分开处理整数部分和小数部分。小数部分的处理比较简单,直接截断保留 2 位数...

2019-07-04 11:39:59 1860 1

原创 Python项目实战:绕圈圈面试题

下面是来自某知名公司的一道“面试题”:给定 4,应该输出如下形式的数据:01 12 11 1002 13 16 0903 14 15 0804 05 06 07给定 5,应该输出如下形式的数据:01 16 15 14 1302 17 24 23 1203 18 25 22 1104 19 20 21 1005 06 07 08 09仔细观察上面的试题,不难发现程...

2019-07-04 11:39:58 1255 1

原创 Python函数(函数定义、函数调用)用法详解

函数是 Python 程序的重要组成单位,一个 Python 程序可以由很多个函数组成。前面我们己经用过大量函数,如 len()、max() 等,使用函数是真正开始编程的第一步。比如在程序中定义了一段代码,这段代码用于实现一个特定的功能。问题来了,如果下次需要实现同样的功能,难道要把前面定义的代码复制一次?如果这样做实在太傻了,这意味着每次当程序需要实现该功能时,都要将前面定义的代码复制...

2019-07-04 11:39:56 4375 1

原创 Python函数返回多个值的方法(入门必读)

如果程序需要有多个返回值,则既可将多个值包装成列表之后返回,也可直接返回多个值。如果 Python 函数直接返回多个值,Python 会自动将多个返回值封装成元组。如下程序示范了函数直接返回多个值的情形: def sum_and_avg(list): sum = 0 count = 0 for e in list: # 如果元素e是...

2019-07-04 11:30:01 8577

原创 Python函数默认参数设置(超级详细)

在某些情况下,程序需要在定义函数时为一个或多个形参指定默认值,这样在调用函数时就可以省略为该形参传入参数值,而是直接使用该形参的默认值。为形参指定默认值的语法格式如下:形参名 = 默认值从上面的语法格式可以看出,形参的默认值紧跟在形参之后,中间以英文“=”隔开。例如,如下程序为 name、message 形参指定了默认值: # 为两个参数指定默认值 def say_...

2019-07-04 11:30:00 9699

原创 Python可变参数函数用法详解

很多编程语言都允许定义个数可变的参数,这样可以在调用函数时传入任意多个参数。Python 当然也不例外,Python 允许在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入。下面程序定义了一个形参个数可变的函数: # 定义了支持参数收集的函数 def test(a, *books) : print(books) # b...

2019-07-04 11:20:00 1393

原创 Python局部函数及用法

前面所看到的函数都是在全局范围内定义的,它们都是全局函数。Python 还支持在函数体内定义函数,这种被放在函数体内定义的函数称为局部函数。在默认情况下,局部函数对外部是隐藏的,局部函数只能在其封闭(enclosing)函数内有效,其封闭函数也可以返回局部函数,以便程序在其他作用域中使用局部函数。 def get_math_func(type, nn) : # 定义一个...

2019-07-04 11:19:58 291

原创 Python函数使用方法(高级用法)

Python 的函数是“一等公民”,因此函数本身也是一个对象,函数既可用于赋值,也可用作其他函数的参数,还可作为其他函数的返回值。使用函数变量Python 的函数也是一种值:所有函数都是 function 对象,这意味着可以把函数本身赋值给变量,就像把整数、浮点数、列表、元组赋值给变量一样。当把函数赋值给变量之后,接下来程序也可通过该变量来调用函数。例如如下代码: # 定...

2019-07-04 11:19:56 952

原创 Python lambda表达式及用法

lambda 表达式是现代编程语言争相引入的一种语法,如果说函数是命名的、方便复用的代码块,那么 lambda 表达式则是功能更灵活的代码块,它可以在程序中被传递和调用。回顾局部函数回顾《Python函数高级用法》一节中,get_math_func() 函数将返回三个局部函数之一。该函数代码如下:def get_math_func(type) : # 定义三个局部函数...

2019-07-04 11:19:54 2679

原创 Python class定义类,Python类的定义(入门必读)

在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。从这个意义上看,日常所说的人,其实都是人的对象,而不是人类。Python 定义类的简单语法如下:class 类名: 执行语句… 零个到多个类变量… 零个到多个方法…类...

2019-07-04 11:19:52 10255

原创 Python(for和while)循环嵌套及用法

Python 程序中,如果把一个循环放在另一个循环体内,那么就可以形成循环嵌套。循环嵌套既可以是 for-in 循环嵌套 while 循环,也可以是 while 循环嵌套 do while 循环,即各种类型的循环都可以作为外层循环,各种类型的循环也都可以作为内层循环。当程序遇到循环嵌套时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行(只是内...

2019-07-03 11:20:27 4358 1

原创 Python循环结构中else用法(入门必读)

Python 的循环都可以定义 else 代码块,当循环条件为 False 时,程序会执行 else 代码块。如下代码示范了为 while 循环定义 else 代码块: count_i = 0 while count_i < 5: print('count_i小于5: ', count_i) count_i += 1 else: print...

2019-07-03 11:20:25 1675

原创 Python for循环及用法详解

for-in 循环专门用于遍历范围、列表、元素和字典等可迭代对象包含的元素。for-in 循环的语法格式如下:for 变量 in 字符串|范围|集合等: statements对于上面的语法格式有以下两点说明:for-in 循环中的变量的值受 for-in 循环控制,该变量将会在每次循环开始时自动被赋值,因此程序不应该在循环中对该变量赋值。 for-in 循环可用于遍...

2019-07-03 11:19:01 6992

原创 Python while循环详解

while 循环的语法格式如下:[init_statements] while test_expression : body_statements [iteration_statements]while 循环在每次执行循环体之前,都要先对 test_expression 循环条件求值,如果循环条件为真,则运行循环体部分。从上面的语法格式来看,迭代语句 iteratio...

2019-07-03 11:18:59 1423

原创 Python assert断言函数及用法

断言语句和 if 分支有点类似,它用于对一个 bool 表达式进行断言,如果该 bool 表达式为 True,该程序可以继续向下执行;否则程序会引发 AssertionError 错误。例如如下程序: s_age = input("请输入您的年龄:") age = int(s_age) assert 20 < age < 80 print("您输入的年龄在20和...

2019-07-03 11:17:02 1550

原创 Python pass语句及其作用

很多程序都提供了“空语句”支持,Python 也不例外,Python 的pass 语句就是空语句。有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过 pass 语句来实现。通过使用 pass 语句,可以让程序更完整。如下程序示范了 pass 作为空语句的用法: s = input("请输入一个整数: ") s = int(s) if s &g...

2019-07-03 11:16:49 6752

原创 Python if else条件语句详解

if 分支使用布尔表达式或布尔值作为分支条件来进行分支控制。Python 的 if 分支既可作为语句使用,也可作为表达式使用。下面先介绍 if 分支作为语句使用的情形。if 语句可使用任意表达式作为分支条件来进行分支控制。Python 的 if 语句有如下三种形式:第一种形式:if expression: statements…第二种形式:if expressio...

2019-07-03 11:16:06 14368

原创 Python list常用方法(count、index、pop、reverse和sort)快速攻略

除前面章节介绍的增加元素、删除元素、修改元素方法之外,列表还包含了一些常用的方法。例如,在交互式解释器中输入 dir(list) 即可看到列表包含的所有方法,如下所示:>>> dir(list)['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 're...

2019-07-03 11:16:01 260

原创 Python list列表修改元素(入门必读)

列表的元素相当于变量,因此程序可以对列表的元素赋值,这样即可修改列表的元素。例如如下代码: a_list = [2, 4, -3.4, 'crazyit', 23] # 对第3个元素赋值 a_list[2] = 'fkit' print(a_list) # [2, 4, 'fkit', 'crazyit', 23] # 对倒数第2个元素赋值 a_list[-2] = 952...

2019-07-03 11:14:59 1345

原创 Python list列表删除元素(3种方法)

删除列表元素使用del语句。del 语句是 Python 的一种语句,专门用于执行删除操作,不仅可用于删除列表的元素,也可用于删除变量等。使用 del 语句既可删除列表中的单个元素,也可直接删除列表的中间一段。例如如下代码: a_list = ['crazyit', 20, -2.4, (3, 4), 'fkit'] # 删除第3个元素 del a_list[2] pr...

2019-06-29 18:09:37 2690

原创 Python字典及基本操作(超级详细)

字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关系。如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 k...

2019-06-29 18:08:40 28931 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除