笨方法学python 习题39(列表)习题40(字典)

习题39

程序思路:一个字符串/使用split获取一个包含字符串中单词的列表/键入添加元素列表//

将添加元素列表的最后一个元素增加至字符串列表,循环知道长度为10//

打印第二个和最后一个元素/在元素间插入空格,在第四个和第五个元素之间插入#


知乎上的一些答案对面向对象的解释很生动通俗。和面向过程是相对性的,解决一定的复杂性。


class:类,把具有相同属性和方法的对象可以归为一类,定义出的具体作为对象实例。拥有属性(类本身的特性)和功方法(类所能实现的行为)
         class xxx(xxxx):#可继承父类,拥有其相应的属性和方法
             def _init_(self):#构造函数,初始化各对象的属性,默认self这个参数代表类定义的对象本身,并放在第一位
                 pass
             def _del_(self)#析构函数,在程序退出时调用的,删除成员数据
                 pass

dir() 是 Python 提供的一个 API 函数,自动寻找一个对象的所有属性,而something是class的一个实例。S所以 dir(something)中肯定包含了class类属性,先暂时理解这么多。
函数式编程:对需达到的目的的描述,而不是讲为了达到目的的这个过程。
命令式编程:要做什么事情,你得把达到目的的步骤详细的描述出来,然后交给机器去运行
现在还是一个很浅显或者片面的认识,留坑。


习题40
容器型数据结构:字典(dictionary)
python中为dict,有些语言为hash
list:可以通过数字找到列表的元素
dict:通过任何东西找到元素,不只是数字。不管是什么,都可以将一个物件与另一个东西关联。

程序思路:
建立一个cities字典,原有三个含有对应物件的元素,又增加两个\定义一个寻找城市函数\\
在cities字典里新建一个元素,索引为_find,元素值为执行寻找城市函数的返回值,现在这个函数还没有参数\\
True开始了一个无限循环直到输入内容为空时终止程序。循环内容是调用寻找城市函数,\\
如果输入内容state在cities这个字典中,将state索引到的cities元素返回至新增的_find索引元素\\
cities[_find]这个元素赋给另一变量city_found并且打印出来。这两行内容为一次循环。

学到了一个多行加注释的方法,目前第三种没有成功。
1.用 一对""" 括起来要注释的代码块。
2.用一对'''括起来要注释的代码块。
3.选中要注释的代码,按下ctrl+/注释。

可变参数:*args表示任何多个无名参数,它是一个tuple;
**kwargs表示关键字参数,它是一个dict
同时使用*args和**kwargs时,*args参数必须列在**kwargs前

dict一些感觉可能会用到的东西:
 dict(**kwargs) -> new dictionary initialized with the name=value pairs
     in the keyword argument list.  For example:  dict(one=1, two=2)
 d[k] = v
 __repr__(self, /)
     Return repr(self). repr()出来的值是给python看的,可以通过eval()重新变回一个Python对象???

 __len__(self, /)
     Return len(self).

 *__new__(*args, **kwargs) from builtins.type
     Create and return a new object. 还不会用

 *__sizeof__(...)
     D.__sizeof__() -> size of D in memory, in bytes#dict object has no attribute 'sizeof'

  clear(...)
      D.clear() -> None.  Remove all items from D.
  copy(...)
      D.copy() -> a shallow copy of D

  get(...)
      D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None

 keys(...)
     D.keys() -> a set-like object providing a view on D's keys

 values(...)
     D.values() -> an object providing a view on D's values

 pop(...)
   D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
   If key is not found, d is returned if given, otherwise KeyError is raised

 popitem(...)
     D.popitem() -> (k, v), remove and return some (key, value) pair as a
     2-tuple; but raise KeyError if D is empty.




上边我执行popitem时也不是按顺序出来的,因为字典根据字符串选择存储位置,输出时也是遍历整个表,就不能够保证顺序。


然后是for 循环items()








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值