zoukankan      html  css  js  c++  java
  • python-前20天的着重知识点

     1.CPU存在两种工作状态:一种是内核态,操作系统在运行--可以操作硬件;
     另一种是用户态,是应用软件在运行--不可以操作硬件。
     应用软件要控制硬件,就要从用户态切换成内核态



     2.多道技术:(多道指的是多道/个程序)
                 空间上的复用:内存中进入多个程序
                      PS:内存必须实现物理级别的隔离
                 时间上的复用:cpu要切换:
                  1. 一个程序占用cpu的时间过长
                  2. 一个程序遇到I/O阻塞


    3.定义一个变量,就会有三个特征:
      id
      type
      value:才是我们存储的数字
     
     
    4.tag=True
    while tag:
        name=input('please input your name: ')
        password=input('please input your password: ')

        if name == 'egon' and password == '123':
            print('login successfull')
            while tag:
                cmd=input('>>: ')
                # if cmd == 'quit':
                #     tag=False
                #     continue
                # print('====>',cmd)

                if cmd == 'quit':
                    tag=False
                else:
                    print('====>',cmd)
                    
                    
                    
    5.python2 的input 与raw_input
    python3只有input
     x=raw_input('>>: ') #python2的raw_input与python3的input的一样的
     print(x,type(x))

     x=input('>>: ') #python2的input,用户输入什么类型,就原封不动的存成什么类型
     print(x,type(x))

     
     
    6.常见报错:        ValueError: not enough values to unpack (expected 2, got 1)
            
            一看就想到是字典出错了, 解决:  for k,v in dict.items():  

            
            
    7.nonlocal关键字
     1.外部必须有这个变量
     2.在内部函数声明nonlocal变量之前不能再出现同名变量
     3.内部修改这个变量如果想在外部有这个变量的第一层函数中生效
    def f1():
        a = 1
        def f2():
            nonlocal a
            a = 2
        f2()
        print('a in f1 : ',a)
    f1()



    8.函数和方法的区别?
    class Foo(object):
        def __init__(self):
            self.name = 'alex'
        def func(self):
            print(self.name)

    from types import FunctionType,MethodType

    obj = Foo()
    print(isinstance(obj.func,FunctionType)) # False
    print(isinstance(obj.func,MethodType))   # True

    print(isinstance(Foo.func,FunctionType)) # True
    print(isinstance(Foo.func,MethodType))   # False
    """
    注意:
        方法,无需传入self参数
        函数,必须手动传入self参数
        
        
        
    9.装饰器迭代和生成器的区别:
        装饰器就是开放封闭原则的一种实现,利用语法糖在被装饰的函数执行前后执行一些操作
        可迭代对象是内部实现了__iter__方法
        迭代器是具有__iter__方法和__next__ 方法,生成器是具有生成的功能还有__next__方法
        生成器本质就是迭代器,用一下动一下
        分别用在哪?
            可迭代对象在strak组件的组合查找时用到
            生成器函数(yield)在后端取出数据需要循环处理传给前端后,在前端还需要循环时,这时候在后端就用 yield 处理,减轻服务器压力
            
        
        
        
    10.http://www.cnblogs.com/liuwei0824/p/7269576.html 内置函数

  • 相关阅读:
    设计模式之观察者模式
    设计模式之装饰器模式
    redis.conf常用配置说明
    log4j日志框架的使用
    Redis入门简述
    Linux用户组权限简单解析
    MyBatis入门简述
    初学Linux要掌握的命令
    SpringIOC原理简述
    Java单元测试神器之Mockito
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/8447066.html
Copyright © 2011-2022 走看看