1.分别书写数字5,10,32,7的二进制表示?

  5---0b101      10---0b1010     32---0b100000    7---0b111

  以上结果可以bin()来检测

  

2.简述对象和类以及模块的关系(可用比喻的手法)?

  • 对象是基于类创建的,对象的功能都在类里,类具体为对象才能调用类里的方法
  • 做个例子,各个品牌汽车商就是类,宝马汽车商就是宝马类,跑在马路上的宝马车就是对象,因为具有宝马类的特征:宝马标志,宝马造型,宝马发动机
  模块和字典差不多
  你知道怎样创建和使用字典这个数据类型,这是一种将一种东西对应到另外一种的方式。这意味着如果
  你有一个字典,它里边有一个叫 ‘apple’ 的 key,而你要从中取值的话,你需要这样做:
  mystuff = {'apple': "I AM APPLES!"}
  print mystuff['apple']
  记住这个“从Y获取X”的概念,现在再来看看模块(module),你已经创建和使用过一些模块了,你已
  经了解了它们的一些属性:
  1. 模组是包含函数和变量的 Python 文件。
  2. 你可以 import 这个文件。
  3. 然后你可以使用 ‘.’ 操作符访问到模组中的函数和变量。
  假如说我有一个模块名字叫 mystuff.py 并且在里边放了个叫做 apple 的函数,就像这样:
  # this goes in mystuff.py
  def apple():
    print "I AM APPLES!"
      接下来我就可以用 import 来调用这个模块,并且访问到 apple 函数:
      import mystuff
      mystuff.apple()
 
  模块还可以用一种方法去理解:你可以把它们当做一种特殊的字典,通过它们你可以储存一些 Python
  代码,而你可以通过 ‘.’ 操作符访问到这些代码。Python 还有另外一种代码结构用来实现类似的目的,
  那就是 类(class) ,通过类,你可以把一组函数和数据放到一个容器中,从而用 ‘.’ 操作符访问到它们。
  如果我要用创建 mystuff 模块的方法来创建一个类,那么方法大致是这样的:
  class MyStuff(object):
    def __init__(self):
      self.tangerine = "And now a thousand years between"
    def apple(self):
      print "I AM CLASSY APPLES!"
 
  这个和模块比起来有些复杂,确实,比起模块来,这里的确做了很多事情,不过你应该能大致看出来,
  这段代码差不多就是模拟了一个名字叫 MyStuff 的迷你模块,里边有一个叫做 apple() 的函数,难懂的
  恐怕是 __init__() 函数,还有就是设置 tangerine 变量时用了 self.tangerine 这样的语法。
 
  使用类而非模块的原因如下:你可以拿着上面这个类,重复创建出很多出来,哪怕是一次一百万个,它
  们也不会互相干涉到。而对于模块来说,当你一次 import 之后,整个程序里就只有这么一份内容,只有
  鼓捣得很深才能弄点花样出来。
 
  不过在弄懂这个之前,你要先理解“对象(object)”是什么东西,以及如何使用 MyStuff 达到类似
  import mystuff 实现的结果。
 
  对象相当于迷你版的 import
  如果说类和迷你模块差不多,那么对于类来说,也必然有一个类似 import 的概念。这个概念名称就是
  “实例(instance)”。这只是一种故作高深的叫法而已,它的意思其实是“创建”。当你将一个类“实例
  化”以后,你就得到了一个 对象(object) 。
  实现实例化的方法,就是像调用函数一样地调用一个类:
  thing = MyStuff()
  thing.apple()
  print thing.tangerine
 
  第一行代码就是“实例化”操作,这和调用函数很相似。然而,当你进行实例化操作时,Python 在背后
  做了一系列的工作,这里我针对上面的代码详细解释一下:
  1. Python 看到了 MyStuff() 并且知道了它是你定义过的一个类。
  2. Python 创建了一个空的对象,里边包含了你在类中用 def 创建的所有函数。
  3. 然后 Python 回去检查你是不是在里边创建了一个 __init__ 魔法函数,如果你有创建,它就会
  调用这个函数,从而对你的空对象实现了初始化。
  4. 在 MyStuff 中的 __init__ 函数里,我们有一个多余的函数叫做 self ,这就是 Python 为我们创
  建的空对象,而我可以对它进行类似模块、字典等的操作,为它设置一些变量进去。
  5. 在这里,我把 self.tangerine 设成了一段歌词,这样我就初始化了该对象。
  6. 最后 Python 将这个新建的对象赋给一个叫 thing 的变量,以供后面使用。
 

3.现在有如下两个变量,请简述n1和n2是什么关系?

  n1 = 123

  n2 = 123

  n1和n2指向同一份内存空间,就是123的内存地址,这是python的内部优化机制

4.现有如下两个变量,请简述n1和n2是什么关系

  n1 = 123456

  n2 = 123456

  n1和n2指向不同的内存空间,因为python的内部优化机制只适用-5----257,对以外的数字,当再赋值给新的变量,会重新开辟一份内存空间

  

5.现有如下变量,请简述n1 和 n2是什么关系?

  n1 = 123456

  n2 = n1

  把变量赋给一个新的变量,其实赋给的是一个索引,当把n1赋给n2就是把n1索引到123456的内存地址赋给了n2,所以这里的n1和n2内存地址一样

  

6.布尔值分别有什么?

  真--True   假--False

7.阅读代码,请写出执行结果

  a = ‘alex’

  b = a.capitalize()

  print(a)

  print(b)

  输出结果为:a--alex,b--Alex

欢迎大家对我的博客内容提出质疑和提问!谢谢

                                                                             笔者:拍省先生  

  

python问号堂--第二篇的更多相关文章

  1. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  2. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  3. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  4. Python进阶【第二篇】多线程、消息队列queue

    1.Python多线程.多进程 目的提高并发 1.一个应用程序,可以有多进程和多线程 2.默认:单进程,单线程 3.单进程,多线程 IO操作,不占用CPU python的多线程:IO操作,多线程提供并 ...

  5. Python学习【第二篇】Python入门

    Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...

  6. Python自动化 【第二篇】:Python基础-列表、元组、字典

    本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库, ...

  7. python之路第二篇(基础篇)

    入门知识: 一.关于作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 10 == 10: name = 'allen' print name 以下结论对吗? ...

  8. Python基础【第二篇】

    一.Python的标准数据类型 Python 3中主要有以下6中数据类型: Number(数字).String(字符串).List(列表).Tuple(元组).Sets(集合).Dictionary( ...

  9. Python之路(第二篇):Python基本数据类型字符串(一)

    一.基础 1.编码 UTF-8:中文占3个字节 GBK:中文占2个字节 Unicode.UTF-8.GBK三者关系 ascii码是只能表示英文字符,用8个字节表示英文,unicode是统一码,世界通用 ...

随机推荐

  1. Spring 对没有实现接口的类使用aspect的时候,可以使用CGLIB

    AspectJ中使用CGLIB 在spring中,当对没有实现接口的类使用aspect的时候,可以使用CGLIB, <aop:aspectj-autoproxy proxy-target-cla ...

  2. android开发全然退出activity

    我们退出Activity能够调用:finish(),system(0),可是这些都仅仅是单单退出单个Activity 也有人会说,直接把进程杀死,这些做法都不是非常可取.事实上我们翻看api能够发现. ...

  3. 转:C#中Monitor对象与Lock关键字的区别分析

    Monitor对象1.Monitor.Enter(object)方法是获取 锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取 ...

  4. centos docker

    1.安装docker yum install docker --安装docker service docker start  --启动docker服务 docker --version  --查看版本 ...

  5. OPPO.1107刷机笔记

    手动 转移任意APP为系统APP的方法流程简述 宗旨: 保持和系统原本同目录下的文件各种设置(权限,所有者,SE上下文),目录结构保持一致即可! 从 /data/app/里将对应的APP文件移动到 / ...

  6. C# Post Json数据到对方url

    1. /// <summary> /// 调用对方Url,Post上传数据 /// </summary> /// <param name="postData&q ...

  7. 不再为无限级树结构烦恼,且看此篇s

    很久都没有写点什么出来分享了,最近在做多级树的时候,发现来来回回写过很多遍,于是封装成用户控件,以方便日后重复使用. 首先上效果: 我们看到以上2种效果,都是支持任意级的,这里源码中使用的是递归,以便 ...

  8. IOS设计模式浅析之单例模式(Singleton)

    说在前面 进入正式的设计模式交流之前,扯点闲话.我们在项目开发的过程中,经常会不经意的使用一些常见的设计模式,如单例模式.工厂方法模式.观察者模式等,以前做.NET开发的时候,认真拜读了一下程杰老师的 ...

  9. LeetCode455. Assign Cookies

    Description Assume you are an awesome parent and want to give your children some cookies. But, you s ...

  10. UVA 12169 Disgruntled Judge 扩展欧几里得

    /** 题目:UVA 12169 Disgruntled Judge 链接:https://vjudge.net/problem/UVA-12169 题意:原题 思路: a,b范围都在10000以内. ...