(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]。两者的区别是,列表可以修改,而元组不行。序列可以相加也可以相乘。
分片:
分片用于截取某个范围内的元素,通过:
来指定起始区间(左闭右开区间,包含左侧索引值对应的元素,但不包含右测索引值对应的元素。有几种典型的使用方法,参考举例:
#注意不包括右边索引值对应的元素 >>> 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]
词典:词典和表类似的地方,是包含有多个元素,每个元素以逗号分隔。但词典的元素包含有两部分,键和值,常见的是以字符串来表示键,也可以使用数字或者真值来表示键(不可变的对象可以作为键)。值可以是任意对象。键和值两者一一对应。与列表和元组不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用。
6、Python的缩进
空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块
7、Python函数的定义和调用
函数通过def关键字定义。def关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。
我们可在定义形参的时候直接给参数加一个默认值。值得注意的是带有默认值的形参要放在右边。
8、Python中的类(面向对象)
- 代码示例1:
- class A:
- def methodA(self):
- print("methodA")
- class B:
- def methodB(self):
- print("methodB")
- class C(A,B):
- def methodC(self):
- A.methodA(self)
- B.methodB(self)
- def methodCPlus(self):
- super().methodB()
- c=C()
- c.methodC()
- c.methodCPlus()
代码示例二:
- class A:
- def methodA(self):
- print("methodA")
- class B(A):
- def methodA(self):
- print("reWrite methodA")
- def methodB(self):
- print("methodB")
- test=B()
- test.methodA()
9、Python中的构造和析构
- class Test:
- def __init__(self):
- self.name="wuyongc"
- print(self.name)
- name="fdg"
- Test() #临时对象
- t=Test()
- t.__init__()
10、
11、Python文件的输入和输出
12、 异常捕捉
代码示例:简单计算器
- def add(a,b):
- return a+b
- def sub(a,b):
- return a-b
- def divided(a,b):
- return a*b
- def chufa(a,b):
- return a/b
- while(1):
- try :
- w=input("请输入a:")
- y=input("请输入b:")
- d=input("请输入操作 "
- "1:+ "
- "2:- "
- "3:* "
- "4:/ :")
- # print(w,y,d)
- # print(type(w),type(y),type(d))
- a = int(w)
- b = int(y)
- c= int(d)
- # print(type(a),type(b),type(c))
- if c==1:
- d=add(a,b)
- elif c==2:
- d=sub(a,b)
- elif c==3:
- d=divided(a,b)
- elif c==4:
- d=chufa(a,b)
- print(d)
- except ZeroDivisionError:
- print("不能为0!")
- except:
- print("输入有误!")
3.python中is和 == 的区别在Python中,is检查两个对象是否是同一个对象,而==检查他们是否相等.
- p = [1]
- q = [1]
- p is q # False 因为他们不是同一个对象
- 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
- import _thread
- import time
- # 一个用于在线程中执行的函数
- def foo(arg):
- for i in range(100):
- print(arg,i)
- time.sleep(1)
- print(arg)
- # 结束当前线程
- # 这个方法与_thread.exit_thread()等价
- _thread.exit() # 当func返回时,线程同样会结束
- # 启动一个线程,线程立即开始运行
- # 这个方法与_thread.start_new_thread()等价
- # 第一个参数是方法,第二个参数是方法的参数
- _thread.start_new(foo,("线程1",)) # 方法没有参数时需要传入空tuple
- # 创建一个锁(LockType,不能直接实例化)
- # 这个方法与_thread.allocate_lock()等价
- lock = _thread.allocate()
- # 判断锁是锁定状态还是释放状态
- print (lock.locked()) #输出为False
- # 锁通常用于控制对共享资源的访问
- count = 0
- # 获得锁,成功获得锁定后返回True
- # 可选的timeout参数不填时将一直阻塞直到获得锁定
- # 否则超时后将返回False
- if lock.acquire():
- print (lock.locked()) #输出为True
- # 释放锁
- lock.release()
- # _thread模块提供的线程都将在主线程结束后同时结束,
- time.sleep(4)
threading
(10)python学习笔记一的更多相关文章
- 10 python学习笔记-操作数据库(十)
在功能.接口测试中,常常需要通过数据库的操作,来准备数据.检测环境及核对功能.接口的数据库操作是否正确. 在自动化测试中,就需要我们用代码连接数据库自动完成数据准备. 环境检查及数据库断言的功能.数据 ...
- 【python学习笔记】10.充电时刻
[python学习笔记]10.充电时刻 任何python都可以作为模块倒入 *.pyc:平台无关的经过编译的的python文件, 模块在第一次导入到程序中时被执行,包括定义类,函数,变量,执行语句 可 ...
- Deep learning with Python 学习笔记(10)
生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Python学习笔记(十三)
Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...
- Python学习笔记(十一)
Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...
- Python学习笔记(十)
Python学习笔记(十): 装饰器的应用 列表生成式 生成器 迭代器 模块:time,random 1. 装饰器的应用-登陆练习 login_status = False # 定义登陆状态 def ...
- Python学习笔记(九)
Python学习笔记(九): 装饰器(函数) 内置函数 1. 装饰器 1. 作用域 2. 高阶函数 3. 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就 ...
- Python学习笔记(八)
Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...
随机推荐
- python+selenium元素定位之XPath学习01
参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tu ...
- Paper Reading
Paper Reading_SysML Paper Reading_Computer Architecture Paper Reading_Database Paper Reading_Distrib ...
- webpack output的path publicPath
path是用来定义入口文件保存的地址,而publicPath是定义非入口文件需要抽离保存的第三方文件的保存地址 vue-cli 中HtmlWebpackPlugin生成html,都会存在path路径上 ...
- android studio配置模拟器
配置模拟器在Android开发中,肯定是要写好代码看结果的,如果使用as中自带的模拟器太low,启动速度又慢,网上有很多教程推荐使用genymotion模拟器的,可是如果是新手我建议选择更好入门的第三 ...
- C# 中的DevExpress控件的使用
使用教程:http://training.evget.com/video/5110 C# System 程序集https://msdn.microsoft.com/zh-cn/library/mt4 ...
- 关于express 连接 mongodb数据库报错
关于express 连接 mongodb数据库报错 nodejs DeprecationWarning: current URL string parser is deprecated, and wi ...
- SQL SERVER将多行数据合并成一行(转)
1)比如表中有三列数据: 2)执行如下查询: 1 SELECT [USER_NAME], [USER_ACCOUNT] 2 , [ROLE_NAME] = stuff(( 3 SELECT ',' + ...
- 006-(成功环境记录)基于Centos7系统部署cobbler批量安装系统
1.1 cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使 ...
- 4Linux 终端命令格式
Linux 终端命令格式 转自 目标 了解终端命令格式 知道如何查阅终端命令帮助信息 01. 终端命令格式 command [-options] [parameter] 说明: command:命令名 ...
- 编写第一个python程序(Your Firsr Program)
1)代码如下: 1 # This program says hello and asks for my name. 2 myName = input("What is your name?& ...