链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/04/2379628.html 一.概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把它给完善了.加入了多线程,这样UI线程就不会被阻塞:实现了客户端和服务器的双向通信,只要客户端发起了连接并成功连接后那么两者就可以随意进行通信了. 二.实现 在之前的工程基础上进行修改就可以了. MyClient工程的main.xml文件不用修改,只需要修改MyClientActivity.java…
通过上一篇博客我们已经对面向对象有所了解,下面我们先回顾一下上篇文章介绍的内容: 上篇博客地址:http://www.cnblogs.com/phennry/p/5606718.html 面向对象是一种编程方式,此编程方式的实现是基于对类和对象的使用: 类是一个模版,模板中包装了多个方法供使用(这里方法就是函数): 对象,根据模板创建的实例,实例用于调用被包装在类中的函数: 面向对象的三大特性:封装.继承.多态. 今天博客的内容主要介绍:Python类的成员.成员修饰符.类的特殊成员.异常处理和…
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!使用python编写一个简易的服务端程序和客户端程序,启动服务端和客户端(监听的ip和端口一致),服务端对客户端进行指定Ip和端口的监听,实现接收客户端发送的数据以及对客户端发送数据. 使用原生socket主要运用到python的socket模块,直接使用自己的代码进行socket对象的创建.ip和端口的绑定.接收和发送数据等操作.服务端:server1.py #incod…
一.作用域 对作用域来说,只要变量在内存里面存在就可以使用: ==: name = 'saneri' print name 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进制,01234567 十进制,0123456789 十六进制,0123456789ABCDE 对于Python 一切事物都是对象,对象基于类创建.类里面保存了对象的方法和功能: 通过type可以查看对象的类型…
python第二节 1.while循环 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.基本形式为: while 条件: 循环体 1.1 死循环示例 while True: print("我会一直执行") 1.2 有限循环示例(使用break跳出循环) while True: print("我会一直执行") print("一直执行") print("直到遇到break…
Python简介: python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所有大中型互联网企业都在使 用Python,如:Youtube.Dropbox.BT.Quora(中国知乎).豆瓣.知乎.Google.Yahoo!.Facebook…
程序运行避免不了需要一些参数来支持 那么如何让程序接收参数呢?这里先简单的用sys模块的参数 sys.argv[]方法来实现参数获取 1.用法: import sys   //导入sys模块后期会详细讲解 sys.argv[tage] //根据参数下标进行取值 (注: 上面的tage为下标位 其中程序本身为0 即sys.argv[0],脚本后的参数则依次类推) 2.举例: //脚本内容 # vim tmp.py #!/usr/bin/env python import sys print sys…
一.file/open 内置函数 file函数的方法: 注:file 和 open的用法和功能相同这里只对file进行分析 file(‘filename’,’mode’) file(‘filename’,’mode’).write(‘data’) 数据写入文件 file(‘filename’,’mode’).read() file(‘filename’,’mode’).flush() 文件刷新 file(‘filename’,’mode’).close() 文件关闭保存 mode参数详解,如下表…
一.integral 类型 Python提供了两种integral类型,即int(整数)与bool(布尔值). 1.1.整数 整数的相关运算符.函数.数据类型转换 1.1.1.整数的运算符 前面已经讲到了这里就不多复述了 1.1.2.int相关方法 pow(x,y) 计算x的y次幂和x**y相同 例: >>> pow(2,3) 8 pow(x,y,z) x**y%z 的另一种写法 例: >>> pow(16,20,12) 4 abs(x) x 求的绝对值 例: >…
1.变量定义: 给数据进行命名,数据的名字就叫做变量 2.变量格式: [变量名] = [值] 注:变量名命名需要满足下面两条准则 准则一:标示符开头不能为数字.不能包含空格.特殊字符准则二:标示符不能为Python的关键字,关键字列表如下表所示 and as assert break class for from global if import del elif else except exec lambda not None or pass True while with yield ret…
1.字典定义: 字典和列表类似 只是字典标示符用的是字符而列表用的是0开始的数字,字典中每个元素对应一个值 这个元素叫做键(key)键值不能重复 value(值)可以重复 2.字典格式: 格式一: [Name]={‘key1’:’value1’,’key2’:’value2’,………} 例: >>>dictionary={'key1':'value1','key2':'value2','key3':'value3'} >>>print (dictionary) {'ke…
一 .Python之列表: 其实所谓的列表我个人感觉和shell 中的数组是一样的(只是个人见解哦),列表其实说白了就是元素的组合: 格式: Name = [a,b,c,d] 下标: 每一个列表中的元素都对应一个下标下标的起始位为0 比如列表[a,b,c,d] a对应的下标为0 b对应的下标为1 c对应的下标为2 …… 1.1.定义列表: 比如定义列表group 元素分别为(test,11,bbb,343,ccc) >>> group = ["test",11,&qu…
这里我们创建一个python(pytest)脚本用于学习测试(以后都为这个文件,不多做解释喽),这个文件必须要有执行权限的哈 1.创建pytest并赋予执行权限 [root@fengyuba_server py]# touch pytest [root@fengyuba_server py]# chmod +x pytest 2. 基本输出“print” [root@fengyuba_server py]# vim pytest #指定python可执行程序路径 #!/usr/bin/pytho…
一.isinstance()和issubclass()命令 1.isinstance(对象,类型) 用来判定该对象是不是此类型或者说是该对象是不是此类的对象,返回结果为True和False,如图所示. 注:在python3中类和类型做了统一,都叫做类. 2.issubclass(对象(子类),对象(父类)) 用来判定该对象是不是该父类的子类,返回的结果为True或False,如图所示. 二.反射 1.什么是反射? 反射就相当于程序能检测,访问和修改他本身状态和行为的一种能力,相当于自省. 2.p…
Python文件操作 1.常规格式 f = open(file="文件所在路径/文件名",mode="操作模式",encoding="选择的编码") # 例如 f = open(file="D:/Python_pro/s_27/day05/test.py",mode="r",encoding="utf-8") # 简写 f = open("D:/Python_pro/s_27/…
day06笔记 1.小数据池 is 与 ==的区别 ​ is :判断两边的内存地址是否相同 ​ ==:判断两边的值是否相同 python中的驻留机制: 数字: -5 ~ 256 字符串: 3.6 乘法时总长度不能超过20 python中的代码块: 数字: -5 ~ 正无穷 字符串: 3.6 乘法时总长度不能超过20 2.深浅拷贝 浅拷贝遇见可变数据类型的时候,具有联动效应 深拷贝遇见可变数据类型的时候,不具有联动效应 浅拷贝:只拷贝第一层的内存地址 示例 dic = {1:2,2:[]} dic…
字典 列表可以存储大量的数据类型,但是只能按照顺序存储,数据与数据之间关联性不强. 所以咱们需要引入一种容器型的数据类型,解决上面的问题,这就需要dict字典. 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成. 在dict中key是 唯⼀的.在保存的时候, 根据key来计算出⼀个内存地址. 然后将key-value保存在这个地址中. 这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的key必须是可hash的 可以改变的都是不…
python第三节 1.整型及布尔值 1.1 进制转换 十进制 ----二进制 二进制 ----十进制 8421方法与普通计算 python中十进制转二进制示例:bin(51)>>>0b110011 python中二进制转十进制示例:int(0b110011)>>>51 1.2布尔值 数字中只有0是False,其余都为True 字符串中只要有内容都是True,没有内容是False 示例 print(bool("")) print(int(True))…
一.集合的概念: 不同元素的集合 二.集合的方法: 方法 用法 范例 set() 过滤掉重复 设置成为集合 >>> subset=set([1,1,2,3,4,4,6]) >>> subset set([1, 2, 3, 4, 6]) //集合中剔除了重复的值 这里剔除了1,4 >>> type(subset) //查看subset类型为set集合 <type 'set'> subset_1 &subset_2 求交集 >&g…
一.查找元素 1.选择器 基本选择器 $("*") $("#id") $(".class") $("element") $(".class,p,div") 层级选择器 $(".outer div")  后代 $(".outer>div")  子代 $(".outer+div") .outer后面的兄弟div(后面一个) $(".ou…
#集合是无序的#集合是不同元素组成的#集合是不可变的,列如:列表,字典,元组#创建空集合 s=set() # s={1,2,3,4,2} # print(s) #集合添加>>>>>>>>>>>>> add # s={1,2,3,4} # s=set() # s.add(5) # print(s) #集合复制 copy # s={1,2,3,4} # ss1=s.copy() # print(ss1) #集合清空 clear #…
# a. 获取内容相同的元素列表 l1 = [11,22,33] l2 = [22,33,44] for l in l1: if l in l2: print(l) # b. 获取 l1 中有, l2 中没有的元素列表 l1 = [11,22,33] l2 = [22,33,44] for l in l1: if l not in l2: print(l) # c. 获取 l2 中有, l1 中没有的元素列表 l1 = [11,22,33] l2 = [22,33,44] for i in l2…
####################### 整理 ################# # 一.数字# int(..) # 二.字符串# replace(替换)/find/join/strip(移除)/startswith/split(分割)/upper(转换为大写的)/lower(转换为小写)/format(占位符替换为指定的值)# tempalte = "i am {name}, age : {age}"# # v = tempalte.format(name='alex',ag…
字典(dict) info={ "k1":"v1", "k2":"value" } 字典的value可以是任意值,布尔值可以作为key(True1,False0),列表字典不能作为字典的key, 字典是无序的, 找字典里面的元素,直接info=[key值] k值不存在,直接报错 所以dic.get(key值,11) 根据可以获取值,可以不存在时,可以指定默认值(None) 字典支持删除的 字典支持for循环 for item…
元组 list列表 li[11,22,33,44]列表和元组的区别:元素不可被修改,不可被增加或者删除(一级元素),列表则相反 tuple元组 tu=(111,222,333,444) 支持索引取值 支持切片取值 可以for循环 字符串,列表,元组可以相互转换 元组的一级元素不可修改或者删除或者增加,但是元组里面的列表的值可以被修改等等 v=tu.cound() 找到指定元素在元组中出现的次数 tu.index() 获取某个元素的索引位置…
列表 list 类 中提供的方法 li=[1,5,dhud,dd,] 通过list类创建的对象 中括号括起来 逗号分隔每个元素 列表中的元素可以是数字,字符串,也可以是列表,也可以是布尔值 所有的都能放进去 列表可以无限嵌套 就是一个"集合",内部放置任何东西 索引取值 print( li [ 3 ] ) 切片取值 print( li[3:5]) 切片取值也是列表 列表 可以被索引取值的方法和切片的方法 修改元素 支持in操作 判断元素是否在列表里面 删除第一种方式 del lip[1…
list列表 基本结构 lst =[1,2,3,5,6] 为什么学列表? 列表能够存储比字符串更多的数据 列表能够存储各种数据类型 列表的注意点 列表是有序的 列表是可变的,支持索引,切片,步 切片后返回原数据类型 列表的基本操作 ------------------------------增---------------------------- list1 = [1, 2, 3, 3, 8, 5, 10] list1.append(10) # 在列表最后追加 print(list1) lis…
1.初识面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本篇随笔将详细介绍Python的面向对象编程. 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程. 1.1.什么是面向对象编程(类) 利用(面向)对象(属性与方法)去进行编码的过程 自定义对象数据类型就是面向对象中的类(class)的概念 刚开…
异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异…
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 country = '中国'def __init__(self, name): #…