精华内容
下载资源
问答
  • 绑定方法,据说有了这个参数,Python 再也不会傻傻分不清哪个对象在调用方法了,你可以认为方法中的 self 其实就是实例对象的唯一标志。2、__init__(self)称作:魔法方法,类在实例化以后会主动进行调用举例如下:3...

    python的类和对象2(self参数)

    1、python里面对象的方法都会有self参数,它就相当于C++里面的this指针;绑定方法,据说有了这个参数,Python 再也不会傻傻分不清是哪个对象在调用方法了,你可以认为方法中的 self 其实就是实例对象的唯一标志。

    2、__init__(self)称作:魔法方法,类在实例化以后会主动进行调用

    举例如下:

    3、在python编程里面类的定义里面,类的属性一般可以分为私有和共有两大类,对于一般的属性定义都是指类的共有属性,可以被外界直接访问,而私有属性是在类的属性前面加上两个下划线,对于私有属性的访问外界不可以直接访问,私有属性其实在python编程里面将其定义为了:_类名__属性,可以直接访问它就可以访问到私有属性

    __name=“燕江依”

    例如如下:

    class Person2:

    __name="yjy"

    运行结果如下:

    4、我们把getName方法称之为“访问器”。Python事实上是采用一种叫“name mangling”技术,将以双下划线开头的变量名巧妙的改了个名字而已,我们仍然可以在外部通过“_类名__变量名”的方式访问

    5、我们常说的类指的是类定义,由于“Python无处不对象”,所以当类定义完之后,自然就是类对象。在这个时候,你可以对类的属性(变量)进行直接访问(MyClass.name)。

    一个类可以实例化出无数的对象(实例对象),Python 为了区分是哪个实例对象调用了方法,于是要求方法必须绑定(通过 self 参数)才能调用。而未实例化的类对象直接调用方法,因为缺少 self 参数,所以就会报错

    6,综合举例:

    游戏编程:按以下要求定义一个乌龟类和鱼类并尝试编写游戏。

    O    假设游戏场景为范围(x, y)为0<=x<=10,0<=y<=10

    游戏生成1只乌龟和10条鱼

    它们的移动方向均随机

    乌龟的最大移动能力是2(Ta可以随机选择1还是2移动),鱼儿的最大移动能力是1

    当移动到场景边缘,自动向反方向移动

    乌龟初始化体力为100(上限)

    乌龟每移动一次,体力消耗1

    当乌龟和鱼坐标重叠,乌龟吃掉鱼,乌龟体力增加20

    鱼暂不计算体力

    当乌龟体力值为0(挂掉)或者鱼儿的数量为0游戏结束

    实现代码如下:

    import random as r

    legal_x = [0, 10]

    legal_y = [0, 10]

    class Turtle:

    def __init__(self):

    # 初始体力

    self.power = 100

    # 初始位置随机

    self.x = r.randint(legal_x[0], legal_x[1])

    self.y = r.randint(legal_y[0], legal_y[1])

    def move(self):

    # 随机计算方向并移动到新的位置(x, y)

    new_x = self.x + r.choice([1, 2, -1, -2])

    new_y = self.y + r.choice([1, 2, -1, -2])

    # 检查移动后是否超出场景x轴边界

    if new_x < legal_x[0]:

    self.x = legal_x[0] - (new_x - legal_x[0])

    elif new_x > legal_x[1]:

    self.x = legal_x[1] - (new_x - legal_x[1])

    else:

    self.x = new_x

    # 检查移动后是否超出场景y轴边界

    if new_y < legal_y[0]:

    self.y = legal_y[0] - (new_y - legal_y[0])

    elif new_y > legal_y[1]:

    self.y = legal_y[1] - (new_y - legal_y[1])

    else:

    self.y = new_y

    # 体力消耗

    self.power -= 1

    # 返回移动后的新位置

    return (self.x, self.y)

    def eat(self):

    self.power += 20

    if self.power > 100:

    self.power = 100

    class Fish:

    def __init__(self):

    self.x = r.randint(legal_x[0], legal_x[1])

    self.y = r.randint(legal_y[0], legal_y[1])

    def move(self):

    # 随机计算方向并移动到新的位置(x, y)

    new_x = self.x + r.choice([1, -1])

    new_y = self.y + r.choice([1, -1])

    # 检查移动后是否超出场景x轴边界

    if new_x < legal_x[0]:

    self.x = legal_x[0] - (new_x - legal_x[0])

    elif new_x > legal_x[1]:

    self.x = legal_x[1] - (new_x - legal_x[1])

    else:

    self.x = new_x

    # 检查移动后是否超出场景y轴边界

    if new_y < legal_y[0]:

    self.y = legal_y[0] - (new_y - legal_y[0])

    elif new_y > legal_y[1]:

    self.y = legal_y[1] - (new_y - legal_y[1])

    else:

    self.y = new_y

    # 返回移动后的新位置

    return (self.x, self.y)

    turtle = Turtle()

    fish = []

    for i in range(10):

    new_fish = Fish()

    fish.append(new_fish)

    while True:

    if not len(fish):

    print("鱼儿都吃完了,游戏结束!")

    break

    if not turtle.power:

    print("乌龟体力耗尽,挂掉了!")

    break

    pos = turtle.move()

    # 在迭代器中删除列表元素是非常危险的,经常会出现意想不到的问题,因为迭代器是直接引用列表的数据进行引用

    # 这里我们把列表拷贝给迭代器,然后对原列表进行删除操作就不会有问题了^_^

    for each_fish in fish[:]:

    if each_fish.move() == pos:

    # 鱼儿被吃掉了

    turtle.eat()

    fish.remove(each_fish)

    print("有一条鱼儿被吃掉了...")

    Python初识类与对象

    Python初识类与对象 类与对象 世界观角度分析类与对象 类是一个抽象的概念,而对象是一个实体的存在,对象由类创造而出,每个对象之间互相独立互不影响,一个对象可以同时拥有多个类的方法,实例化就是通过 ...

    python的类与对象

    类与对象 1.什么是类 类和函数一样是程序编程的一种方式,在处理某些问题的时候类比函数更加适合让编程变得简化,在python里面函数式编程和类编程都是为了简化代码的一种编程方式,具体应用那个则由具体问 ...

    python的类和对象——类成员番外篇

    学完了面向对象的三大特性,已经get了所有屌丝技能的我们也当一回文艺小青年,来看看类的成员和成员修饰符. 今天‘三’这个数字好亲和~~~类成员可以分为三类:字段.方法和属性 一.字段 首先我们来看看字 ...

    【Python】类和对象、继承、使用文件、存储、异常、标准库(不懂)

    当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self ...

    搞懂Python的类和对象名称空间

    代码块的分类 python中分几种代码块类型,它们都有自己的作用域,或者说名称空间: 文件或模块整体是一个代码块,名称空间为全局范围 函数代码块,名称空间为函数自身范围,是本地作用域,在全局范围的内层 ...

    Python深入类和对象

    一. 鸭子类型和多态 1.什么是鸭子类型: 在程序设计中,鸭子类型(英语:Duck typing)是动态类型和某些静态语言的一种对象推断风格."鸭子类型"像多态一样工作,但是没有继 ...

    python的类和对象

    一.面向对象和面向过程 1.1面向过程的特点 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 1.2面 ...

    python 2 类与对象

    1.类与对象的概念 类即类别.种类,是面向对象设计最重要的概念,从一小节我们得知对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体. 那么问题来了,先有的一个个具体存在的对象(比如一 ...

    随机推荐

    javascript 核心语言笔记 4 - 表达式和运算符

    表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果.程序中的常量.变量名.数组访问等都是表达式 ...

    bootstrap 双层模态框的实现

    vue全家桶(vue-cli&comma;vue-router&comma;vue-resource&comma;vuex)-1

    vue-cli # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my- ...

    展开全文
  • set -- 后无内容,将当前 shell 脚本的参数置空,$1 $? $@ 等都为空。set -- 后有内容,当前 ...举例//文件 tmp.sh#!/bin/sh#set -- aa ss ddecho $0 #命令行echo $1 #第一个参数echo $* #所有参数echo $@ #所有...

    set -- 后无内容,将当前 shell 脚本的参数置空,$1 $? $@ 等都为空。

    set -- 后有内容,当前 shell 脚本的参数被替换为 set -- 后的内容,$1 $? $@ 等相应地被改变。

    举例

    //文件 tmp.sh

    #!/bin/sh

    #set -- aa ss dd

    echo $0 #命令行

    echo $1 #第一个参数

    echo $* #所有参数

    echo $@ #所有参数

    echo $# #命令行参数个数

    执行./tmp.sh qq ww ee的输出

    ./tmp.sh

    qq

    qq ww ee

    qq ww ee

    3

    去掉set --前的注释#,执行./tmp.sh qq ww ee的输出

    ./tmp.sh

    aa

    aa ss dd

    aa ss dd

    3

    一点线索

    mysql 的 DOCKFILE

    在看 mysql 的 DOCKFILE 怎么写时,也看到了相同的写法如下:

    mysql/5.7/docker-entrypoint.sh

    # if command starts with an option, prepend mysqld

    if [ "${1:0:1}" = '-' ]; then

    set -- mysqld "$@"

    fi

    ps: ${1:0:1} =》 ${parameter:offset:length}

    set 的 man page

    查到 set 的 man page 中有对 -- 有如下介绍

    set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]

    set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]

    -- If no arguments follow this option, then the positional parameters are unset. Otherwise, the positional parameters are set to the args, even if some of them begin with a -.

    名词解释

    Positional parameters in a shell script are nothing but the command line arguments passed to a shell script.

    它啥也不是,就是指的 shell 脚本的参数

    展开全文
  • *args是非关键字参数,用于元组,**kw关键字参数,用于字典举例:1.*argsdeftupleArgs(arg1,arg2="B",*arg3):print("arg1:%s"%arg1)print("arg2:%s"%arg2)foreachArgNuminrange(len...

    *args是非关键字参数,用于元组,**kw是关键字参数,用于字典

    举例:1.*args

    def tupleArgs(arg1, arg2= "B", *arg3):

    print("arg 1:%s " % arg1)

    print("arg 2:%s " % arg2)

    for eachArgNum in range(len(arg3)):

    print("the %d in arg 3 :%s " % (eachArgNum,arg3[eachArgNum]))

    if __name__ == "__main__":

    tupleArgs("A")

    #   arg 1:A

    #   arg 2:B

    tupleArgs("23","C")

    #   arg 1:23

    #   arg 2:C

    tupleArgs("12","A","GF","L")

    #   arg 1:12

    #   arg 2:A

    #   the 0 in arg 3 :GF

    #   the 1 in arg 3 :L

    **kw

    def dictArgs(kw1, kw2= "B", **kw3):

    print("kw 1:%s " % kw1)

    print("kw 2:%s " % kw2)

    for eachKw in kw3:

    print("the %s ---->:%s " % (eachKw,kw3[eachKw]))

    if __name__ == "__main__":

    dictArgs("A")

    #   kw 1:A

    #   kw 2:B

    dictArgs("23","C")

    #   kw 1:23

    #   kw 2:C

    dictArgs("12","A", c = "C",d = "12121212")

    #   kw 1:12

    #   kw 2:A

    #   the d ---->:12121212

    #   the c ---->:C

    dictArgs("kw",c = "C",d = "12121212",kw = "KW")

    #   kw 1:kw

    #   kw 2:B

    #   the kw ---->:KW

    #   the d ---->:12121212

    #   the c ---->:C

    展开全文
  • 语法class float([x])参数x --- 整数或字符串返回值float()返回一个浮点数举例将十进制整数转换为十进制浮点数>>> float(5)5.0>>> float(-6)-6.02. 将十进制字符串转换为十进制浮点数>>>...

    float函数可以将一个十进制整数、十进制浮点数字符串或布尔值转化为十进制浮点数。语法

    class float([x])

    参数x --- 整数或字符串返回值

    float()返回一个浮点数

    举例将十进制整数转换为十进制浮点数

    >>> float(5)

    5.0

    >>> float(-6)

    -6.0

    2. 将十进制字符串转换为十进制浮点数

    >>> float('24.5')

    24.5

    >>> float('-905.4')

    -905.4

    3. 将布尔值转换为浮点数

    在Python中,布尔型在计算中等价于1.0和0.0

    >>> float(True)

    1.0

    >>> float(False)

    0.0

    注意事项也可以将浮点数转换为浮点数,这么做不会有任何意义也不会报错

    >>> float(3.42)

    3.42

    >>> float(-2.33)

    -2.33

    >>> float(2e3)

    2000.0

    2. 当非十进制的字符串作为参数时,超出数字字符时会报错

    >>> float('2a1')

    Traceback (most recent call last):

    File "", line 1, in

    ValueError: could not convert string to float: '2a1'

    值错误:不能转换字符串‘2a1’为浮点数

    3. float函数不能像int函数那样可以任意进制的转换

    例如试图将二进制数11转换为十进制浮点数3.0时,会报错:

    >>> float(11, 2)

    Traceback (most recent call last):

    File "", line 1, in

    TypeError: float() takes at most 1 argument (2 given)

    类型错误:float函数至多只有一个参数(给予了2个参数)

    4. 当所有参数省略时,返回0.0

    >>> float()

    0.0

    这里是我自己准备的一套系统学习python的教学资源,

    里面包含初学者需要牢记的知识点,希望能帮到你哦~2021最新版Python零基础高强度7天极速入门到精通_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com2021最新版python爬虫7天速成(附带代码课件)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com清华大学博士2020最新Python数据结构与算法教程(20小时全套合集)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com

    展开全文
  • 参数源码里面方法里面总是带有*args和**kwargs 一直没有弄清楚是什么意思,感觉和很不明觉厉,一直没有时间弄清楚,今天有时间,觉得还是弄清楚比较好,就百度了一下,网上有好多的简单直白的翻译,按照自己理解的...
  • python中*args **kw到底是什么意思

    千次阅读 2017-02-20 16:33:35
    *args是非关键字参数,用于元组,**kw关键字参数,用于字典 举例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
  • 想用python处理一下文件,发现有argv这个用法,搜来学习一下。...用法:python xx.py xxx举例如下:#-*- coding:utf- -*-from sys import argvscript,first = argvprint "the script is called:", script...
  • set -- 后无内容,将当前 shell 脚本的参数置空,$1 $? $@ 等都为空。set -- 后有内容,当前 ...举例//文件 tmp.sh#!/bin/sh#set -- aa ss ddecho $0 #命令行echo $1 #第一个参数echo $* #所有参数echo $@ #所有...
  • *args 传入tuple 类型的无名参数,而 **kwargs 传入的参数是 dict 类型。下文举例说明。 1.*args 的用法,以下测试代码: def test(*args): print(args) for i in args: print(i) test(1,2,3) # 输出值分别为 ...
  • 这些参数是什么意思 这些参数是我们输入的参数 当运行文件的时候 sys.arg是一个参数数组 里面的参数是我们自定义的 我们可以传入文件 或者文本参数,情景如下: 新建一个python文件 test.py import os import ...
  • 语法class float([x])参数x --- 整数或字符串返回值float()返回一个浮点数举例将十进制整数转换为十进制浮点数>>> float(5)5.0>>> float(-6)-6.02. 将十进制字符串转换为十进制浮点数>>>...
  • 我直接引用百度百科的内容并加上自己的见解来讲,LZ可以自行搜索关键词“维度“地址:维度_百度百科在数学中,维度基于一定前提条件下描述一个数学对象所需的独立参数数目。上述就是维度的广义定义,通俗地讲,...
  • 本文主要介绍了Python中list[::-1]的几种用法,分享给大家,具体如下:s = "abcde"list的[]中有三个参数,用冒号分割list[param1:param2:param3]param1,相当于start_index,可以为空,默认0param2,相当于end_...
  • Java中throws IOException什么意思

    万次阅读 2018-12-19 11:19:01
    throws IOExceptionJava中的throws语句。...语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......} public void doA(int a) throws  Exception1,Exception3{......} 举例: ...
  • 举例来说: <link rel="stylesheet" href=... facebook上的css连接后面都跟了个参数.. 这表示什么意思呢? 可以看成css的一个版本号,如果css改动过,担心...
  • 举例来说: <link rel="stylesheet" href=... facebook上的css连接后面都跟了个参数.. 这表示什么意思呢? 可以看成css的一个版本号,如果css改动过,担心浏览器本地css文件没有及时更新而导致...
  • HashMap的负载因子初始值为什么是0.75?

    千次阅读 多人点赞 2020-03-09 23:13:58
    对于HashMap的研究,我之前一直停留在烤炉源码的实现,其实现在看来,系统默认的各种参数HashMap的精华所在。 负载因子和扩容机制有关的,意思时如果当前容器的容量达到了我们设定的最大值,就要开始执行扩容...
  • 我用man ln命令查看用法,其中对-T参数的解释 > -T, --no-target-directory > treat LINK_NAME as a normal file 不明白它的意思,请大家可否举例说明下什么时候才会用到这个参数
  • 模板是什么 模板就是一种对类型进行参数化的工具。 分为两类:函数模板和类模板 现在我们就以顺序表的实现来说明: 类模板 1.格式 template<typename 形参名,typename 形参名,typename 形参名,……> class ...
  • 只是对象作为参数传递的时候本质原对象引用的拷贝,什么意思呢?就是复制了一个新的指针,并且这个指针指向了原来对象的内存地址.所以传递的不是对象,引用(新指针)的值. 举例 例1:传进去的user一个新的引用值,...
  • 这样的一个i可以传入,或者说这个时候的i可以当成一个对象用,这就是jdk5之后就有的新特性,自动装箱,意思就是本身个基本数据类型,但是在他需要时可以直接封装成一个包装类的对象,在需要他变成基本数据类型时,...
  • 近期有朋友问我说mysql数据库里tinyint(1)这个1到底是什么意思啊? 于是就有了这篇文章,来给大家说一说常见字段后面带的参数都有什么意义,什么时候会用到. 注: (本人测试版本为mysql 5.7.16 及 8.0.15) int,...
  • i1 = iter(itr, 'c')这个意思是说,返回itr的iterator,而且在之后的迭代之中,迭代出来'c'就立马停止。对这个itr有什么要求呢?这个itr在这里必须callable的,即要实现__call__函数再说传一个参数,有i2 = iter...
  • 解析:穷举不是无穷举例意思,而是为测试准备尽可能多的数据进行测试。黑盒测试针对产品的功能进行测试。比如测试出发功能,要求提供2个参数,返回一个结果。那个,我们就可以把所有能想到的数都放在测试数据中...
  • ntp的中级知识

    2017-04-27 19:11:00
    -x参数是什么意思? 如何缓慢调整ntp? 机器本地如何守时? 如果ntp校准不回来怎么办? adjtimex修改tick值用法举例 chrony和ntp区别? adjtimex和时钟的几个概念tick,freq,ppm? Linux上夏时令是什么?夏...
  • : 后跟println指的是System.out里的println方法,这里方法引用意思是 向这个抽象方法里传入System(类).out(对象)的println方法作为Printable里Printint的实现类,因为具体是哪个函数的实现类,以及参数是什么都...
  • 毕业设计项目的架构

    2020-04-13 10:16:27
    初学者:类怎样写、函数参数和返回值、分支和循环是什么意思 基础良好:Model数据部分、View界面部分、Control程序行为部分,各是什么技术方案 有良好的实践技能:体系结构是什么。分层架构,系统分为哪些子系统、...
  • 该问题也可以叫做:在Python中如何使用可变长参数列表? 首先我们应该明确的是,在...其次,上面这句话到底是什么意思呢?下面我将会以举例的形式来说明二者的用法与区别。 1. *args的使用方法 *args 用来将参数...
  • 2018/11/7数据库测试

    2018-12-10 11:30:06
    目录一、简答题1.MySQL默认的存储引擎?2.常见的数据库产品有哪些?...7.MySQL中LIMIT关键字做什么的,其参数代表什么意思?8.如何避免重复数据查询,请举例说明?9.如何使用字符串拼接函数,请举例说明?10....

空空如也

空空如也

1 2 3 4 5
收藏数 85
精华内容 34
关键字:

参数是什么意思举例