zoukankan      html  css  js  c++  java
  • (10)python学习笔记一

    学习参考博客:http://blog.csdn.net/a359680405/article/details/42486689  深表感谢

    1、单行注释  #    多行注释 """"""   ''''''

    2、字符串可以直接相加、相乘。

    3、Python中的变量不需要声明就可以使用。  

    4、Python是大小写敏感的,标识符的明明要求与C语言相同。标识符的第一个字母必须是字母或者下划线"_",其他位置的字母可以是字母、数字、下划线。

    5、Python中最基本的数据结构是序列,序列中的每个元素被分配了一个序号——即元素的位置,叫做索引。第一个索引是0,第二个是1,而倒数第一个元素可以标记为-1,倒数第二个为-2以此类推。序列的元素可以是之前讲的所有基础数据类型,也可以是另一个序列,还可以是对象。 序列最常用的有两类,元组(tuple)和列表[list]。两者的区别是,列表可以修改,而元组不行。序列可以相加也可以相乘。

    分片:    

    分片用于截取某个范围内的元素,通过:来指定起始区间(左闭右开区间,包含左侧索引值对应的元素,但不包含右测索引值对应的元素。有几种典型的使用方法,参考举例:

    1. #注意不包括右边索引值对应的元素 >>> num = [1,2,3,4,5,6,7,8,9,10] >>> num[3] 4 >>> num[6] 7 >>> num[3:6] [4, 5, 6] #留意右边边界 >>> num[3:9] [4, 5, 6, 7, 8, 9] #右边越界,刚好是10对应的下一个索引值 >>> num[3:10] [4, 5, 6, 7, 8, 9, 10] #右边越界 >>> num[3:11] [4, 5, 6, 7, 8, 9, 10] #注意是不包含最后一个元素的 >>> num[-3:-1] [8, 9] >>> num[-4:-1] [7, 8, 9] >>> num[-10:-1] [1, 2, 3, 4, 5, 6, 7, 8, 9] #注意右边界 >>> num[-10:0] [] >>> num[-5:-1] [6, 7, 8, 9] #注意右边界 >>> num[-5:] [6, 7, 8, 9, 10] >>> num[-5:1] []>>> num[3:1] [] >>> num[3:-1] [4, 5, 6, 7, 8, 9] #取最右3个元素 >>> num[-3:] [8, 9, 10] #取最左3个元素 >>> num[:3] [1, 2, 3] #可以加入step length >>> num[1:10:3] [2, 5, 8] >>> num[0:10:3] [1, 4, 7, 10] #起始位置默认为最左和最右,但不包括最右的元素 >>> num[::2] [1, 3, 5, 7, 9] >>> num[0:9:1] [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> num[0:10:1] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #如果step length为0,会报错,也就是说步长不可以为0 >>> num[1:5:0] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: slice step cannot be zero #如果步长为负数,表示从右向左提取元素 #注意不包括6对应的元素 num[10:6:-1] [10, 9, 8] #倒序输出 >>> num[10::-1] [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] #从最左边开始 >>> num[:-3:1] [1, 2, 3, 4, 5, 6, 7] >>> num[:3:1] [1, 2, 3] #从最右边开始 >>> num[:3:-1] [10, 9, 8, 7, 6, 5]

    词典词典和表类似的地方,是包含有多个元素,每个元素以逗号分隔。但词典的元素包含有两部分,键和值,常见的是以字符串来表示键,也可以使用数字或者真值来表示键(不可变的对象可以作为键)。值可以是任意对象。键和值两者一一对应。与列表和元组不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过来引用。

    1. cidian={'wu':1,'yong':2,'cong':3}
    2. # print(cidian['wu'])
    3. # cidian['wu']=2
    4. # print(cidian)
    5. # cidian["dgds"]=45
    6. # print(cidian)
    7. for key in cidian: #词典的循环调用
    8. print(key,cidian[key])

    6、Python的缩进

     空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块

    7、Python函数的定义和调用

    函数通过def关键字定义。def关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。

    我们可在定义形参的时候直接给参数加一个默认值。值得注意的是带有默认值的形参要放在右边。

    8、Python中的类(面向对象)

    1. 代码示例1:
    2. class A:
    3. def methodA(self):
    4. print("methodA")
    5. class B:
    6. def methodB(self):
    7. print("methodB")
    8. class C(A,B):
    9. def methodC(self):
    10. A.methodA(self)
    11. B.methodB(self)
    12. def methodCPlus(self):
    13. super().methodB()
    14. c=C()
    15. c.methodC()
    16. c.methodCPlus()

    代码示例二:

    1. class A:
    2. def methodA(self):
    3. print("methodA")
    4. class B(A):
    5. def methodA(self):
    6. print("reWrite methodA")
    7. def methodB(self):
    8. print("methodB")
    9. test=B()
    10. test.methodA()

    9、Python中的构造和析构

    1. class Test:
    2. def __init__(self):
    3. self.name="wuyongc"
    4. print(self.name)
    5. name="fdg"
    6. Test() #临时对象
    7. t=Test()
    8. t.__init__()

    10、

    11、Python文件的输入和输出

    12、 异常捕捉

    代码示例:简单计算器

    1. def add(a,b):
    2. return a+b
    3. def sub(a,b):
    4. return a-b
    5. def divided(a,b):
    6. return a*b
    7. def chufa(a,b):
    8. return a/b
    9. while(1):
    10. try :
    11. w=input("请输入a:")
    12. y=input("请输入b:")
    13. d=input("请输入操作 "
    14. "1:+ "
    15. "2:- "
    16. "3:* "
    17. "4:/ :")
    18. # print(w,y,d)
    19. # print(type(w),type(y),type(d))
    20. a = int(w)
    21. b = int(y)
    22. c= int(d)
    23. # print(type(a),type(b),type(c))
    24. if c==1:
    25. d=add(a,b)
    26. elif c==2:
    27. d=sub(a,b)
    28. elif c==3:
    29. d=divided(a,b)
    30. elif c==4:
    31. d=chufa(a,b)
    32. print(d)
    33. except ZeroDivisionError:
    34. print("不能为0!")
    35. except:
    36. print("输入有误!")


    3.python中is和 == 的区别Python中,is检查两个对象是否是同一个对象,而==检查他们是否相等.

    1. p = [1]  
    2. q = [1]  
    3. is q # False 因为他们不是同一个对象  
    4. p == q # True 因为他们的值相等  

    所以如果你要比较两个值是否相同就用==,如果比较是否是同一个对象就用is.
    其实python中的is比较的对象很像C语言中的指针,只有地址相同的指针才是同一个指针.

    13、Python中的标准库

    http://blog.csdn.net/a359680405/article/details/42421307

    http://blog.csdn.net/a359680405/article/details/42421597

    14、Python多进程和多线程

    http://blog.csdn.net/a359680405/article/details/51205212

    Python通过两个标准库_thread(python2是thread)和threading提供对线程的支持。_thread提供了低级别的、原始的线程以及一个简单的锁。

    _thread

    1. import _thread
    2. import time
    3. # 一个用于在线程中执行的函数
    4. def foo(arg):
    5. for i in range(100):
    6. print(arg,i)
    7. time.sleep(1)
    8. print(arg)
    9. # 结束当前线程
    10. # 这个方法与_thread.exit_thread()等价
    11. _thread.exit() # 当func返回时,线程同样会结束
    12. # 启动一个线程,线程立即开始运行
    13. # 这个方法与_thread.start_new_thread()等价
    14. # 第一个参数是方法,第二个参数是方法的参数
    15. _thread.start_new(foo,("线程1",)) # 方法没有参数时需要传入空tuple
    16. # 创建一个锁(LockType,不能直接实例化)
    17. # 这个方法与_thread.allocate_lock()等价
    18. lock = _thread.allocate()
    19. # 判断锁是锁定状态还是释放状态
    20. print (lock.locked()) #输出为False
    21. # 锁通常用于控制对共享资源的访问
    22. count = 0
    23. # 获得锁,成功获得锁定后返回True
    24. # 可选的timeout参数不填时将一直阻塞直到获得锁定
    25. # 否则超时后将返回False
    26. if lock.acquire():
    27. print (lock.locked()) #输出为True
    28. # 释放锁
    29. lock.release()
    30. # _thread模块提供的线程都将在主线程结束后同时结束,
    31. time.sleep(4)

    threading

  • 相关阅读:
    python笔记-列表和元组
    T-sql for xml path使用(转)
    除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
    VS2015 经常不出现智能提示,代码颜色也没有了
    虚拟机重新决定网卡地址时,老是报错
    模块的命令
    关闭NetworkManager的作用
    centos6上yum安装drbd(内核:2.6.32.696)
    检查硬件变化的命令kudzu
    parted分区和挂载及非交互式操作
  • 原文地址:https://www.cnblogs.com/wycBlog/p/7308120.html
Copyright © 2011-2022 走看看