python语言整理

本文详细介绍了Python的基础语法,包括注释方法、数据类型和面向对象编程。此外,还探讨了构造函数、装饰器、类变量与实例变量的区别、使用super关键字的子类传值、闭包、列表生成式、生成器、迭代器和高阶函数等核心概念,旨在帮助读者深入掌握Python编程。
摘要由CSDN通过智能技术生成

一、python

1.python的基础语法

1.python的介绍

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

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

Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
Python 是交互式语言: 这意味着,你可以在一个Python提示符,直接互动执行写你的程序。
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏

2.python的注释方法

1.单行注释:#

单行注释常以#开头
windows的快捷键是 Ctrl + /
实例:

# -太棒了

print ("hello world!");     #您好,世界
2.多行注释:三个单引号(’’’)或者三个双引号(”””)

注释使用三个单引号(’’’)或者三个双引号(”””)来标记,而实际上这是多行字符串的书写方式,并不是Python本身提倡的多行注释方法
实例:

'''

这是多行注释,使用单引号。

这是多行注释,使用单引号。

'''

"""

这是多行注释,使用双引号。

这是多行注释,使用双引号。

"""

3.python的数据类型

# int
a = 3
#float
a = 3.3
# str
a = 'str'
# bytes
a = b'4'
# complex
a = 2 + 3j
# bool
a = True
# None
a = None

Python语法比较松散,语句的最后不强制要求加’;’,在定义变量时,不需要声明变量的数据类型,Python会根据变量的赋值自动给定数据类型

如果在定义一个变量时不确定他的类型,可以使用None来进行赋值,此时的类型也是None Type

4.面向对象

面向对象编程是一种封装代码的方法;代码封装就是隐藏实现功能的具体代码,仅留给用户使用的接口。
Python中也支持面向对象的三大特征:封装、继承、多态。

面向对象的相关术语
类:可以理解是一个模板,通过它来创建出无数个具体的实例;类是抽象一类事物的总称,
对象:类时不可以直接使用的,需要通过类创建的实例才能使用,这个实例也就是对象。
属性:类中的所有变量称为属性
方法:类中的所有函数通常叫做方法

这里的重点就是类和对象。
类的命名规则首字母最好大写,可以采用驼峰写法,例如:StudentName
python中的类也是通过用class来定义,并且他也可以下成“class student(object)”的方式来定义,括号内的是class所继承的父类,如果不知道又想写的话写object就行。

2.python的构造函数

1.python中构造函数的格式为:__init__()

想让类定义不同对象,我们需要构造函数。不同的构造函数能赋予不同的属性

#c9_1.cy
class Array1:
    '''
    类里面的变量我们称做
    类变量
    '''
    data = 'ring01'
    size = 1

    # def __init__(self):
    def __init__(self):
        '''
        构造函数,基本是通用的,包括php,java都有构造函数
        '''
        print('Array1')

    def get_size(self):
        print('get_size')

1.上述中class Array1后面的父类是默认跟object。class Array1(父类):
2.其中python当中的self如同java等其他语言的this,可以进行修改但是不建议这样做。
3.python中类实例化后一瞬间自动执行

实例化后自动执行例如

from c9_1 import Array1, Array2
arr = Array1()

结果
在这里插入图片描述
在运行python后我们发现它自动打出了Array1,但是我们没有进行print的显示语句

2.python查看变量内存地址:id

如果实例化对象是相同的,这里的相同只是内部变量值,方法相同但计算机中但内存地址不同。

from c9_1 import Array1, Array2
 arr = Array1()
 arr1 = Array1()
 arr2 = Array1()
#
 print(id(arr), id(arr1), id(arr2))

结果:三个内存地址不同
在这里插入图片描述

3.显式调用构造函数,会变成普通函数

from c9_1 import Array1, Array2
arr = Array1()
arr.__init__()

结果:虽然这里显示了,但是这个构造函数已经变成了普通函数。【显示两次,一次实例化显示一次print调用构造函数显示】
在这里插入图片描述

为什么打印出了两次
构造函数的特性:
1.构造函数在类实例化的同时,就已经自动运行了
2.构造函数能不能显式调用,明显是可以的 但在编程中不要这样调用

4.构造函数的返回值

from c9_
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值