Python----学习记录

参考书为:《PyQt5快速开发与实战》

 

1、Python数据类型

  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制])
  • float(浮点型)
  • complex(复数)

(1)Python允许你同时为多个变量赋值。例如:

    a = b = c = 1

   a, b, c = 1, 2, "john"  //c为字符串对象

 

2、字符串

     (1)常用字符串方法

         https://jingyan.baidu.com/article/f006222874a00efbd2f0c863.html

#join方法,相当于将右边字符串每个字符中间插入左边字符
>>b='hello world'

>>'-' .join(b)

h-e-l-l-o- -w-o-r-l-d

     (2)字符串的比较

#按照ASCII的大小比较
print 'A'>'B' #输出false(-1)
print 'b'>'B' #输出true(1)
print 'Abc'=='Abc' #输出true(0)
print 'Ab'>'Abc'  #输出false
print 'Abc'>'Abbd' #输出true

 

3、列表、元组、字典

     (1)列表和元组的区别
         列表是动态数组,它们不可变且可以重设长度(改变其内部元素的个数)。
         元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
         元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。
         这些区别结实率两者在设计哲学上的不同:

         列表可被用于保存多个互相独立对象的数据集合
         元组用于描述一个不会改不安的事务的多个属性

#两个元组合并
>>> t1 = (1, 2, 3, 4)
>>> t2 = (5, 6, 7, 8)
>>> t1 + t2
(1, 2, 3, 4, 5, 6, 7, 8)

         元组不支持改变大小,但是我们可以将两个元组合并成一个新元组

  

4、控制语句

      各种控制语句跟C之类区别不大,for语句略有不同

#这里将列表里面的3个元素分别赋值给x,然后遍历输出
xlst=['1','b','xxx']
for x in xlst:
    print(x)

      语句的结束,是通过识别回车符识别语句的结束的。

 

5、函数的定义

     (1)用def

#用def定义一个函数f01(a,b,c)
def f01(a,b,c):
	print('a,b,c,',a,b,c)
	a2,b2,c2,=a+c,b*2,c*2
	return a2,b2,c2

     (2)用lambda

#定义了fun1(x,y)
fun1 = lambda x,y : x + y  
print('fun1(2,3)=' , fun1(2,3))

 

6、partial

      原理是定义了一个匿名函数,不会使程序效率变高,只会使代码简洁

#先导入functools模块
import functools

def add(a, b):
    return a + b

#将plus3设定为add函数输入了固定参数b=3的函数
#如果改为:plus3 = functools.partial(add, 3)
#这里的参数3会赋值给add(a, b):中的a
plus3 = functools.partial(add, b=3)

#4+3=7  所以rst2的结果会是7
rst2 = plus3(4)
print('plus3(4)=' , rst2)

6、类和对象

      与C语言比较,类相当于一个结构体。而对象,则相当于结构体变量。

      类创建了一个模板,里面有初始化好的全局变量以及对象的变量,还有定义好的各种方法(函数)。

      而对象,就是根据这个类的模板,创建的实例。

 

7、 if __name__ == "__main__": 

具体参考以下,举例:

当在A模块中调用B模块,B模块中某部分代码不想被A调用,只想在运行B模块本身时使用。

则可以在B模块添加“ if __name__ == "__main__": 

且将不想被外部调用的代码放在此行代码下面。

https://www.cnblogs.com/chenhuabin/p/10118199.html

 

7、 property与del

  (1)函数property()可以用来监测一个类的属性或变量,前提是该类必须继承自object类

       当该属性或变量变化时可触发对应的方法:

class MyClass(object):
    def __init__(self):
        self._param = None

    def getParam(self):
        print( "get param: %s" % self._param)
        return self._param

    def setParam(self, value):
        self._param = value
        print( "set param: %s" % self._param )
 

    def delParam(self):
        print( "del param: %s" % self._param)
        del self._param

    #这里相当于C语言进行函数指针的赋值,当读取param时
    #会触发getParam方法,改变param时触发setParam方法
    param = property(getParam, setParam, delParam)

if __name__ == "__main__":
    cls = MyClass()
    cls.param = 10
    cls.param = 20
    cls.param = 30   
    print("current param : %s " % cls.param )
    del cls.param

      还有一种,使用”@property“ 访问类的属性:

      

class MyClass(object):
	def __init__(self):
		self._param = None  

	@property  
	def param(self):  
		print( "get param: %s" % self._param)
		return self._param  

	@param.setter   #当设置param时会触发此方法
	def param(self, value):  
		print( "set param: %s" % self._param )
		self._param = value  
	 
	@param.deleter  #当删除param时会触发此方法
	def param(self):  
		print( "del param: %s" % self._param)
		del self._param  

if __name__ == "__main__":
	cls = MyClass()
	cls.param = 10
	print("current param : %s " % cls.param )
	del cls.param

  (2)del:这个关键字是用来删除引用的。

       在python中,变量是用来引用对象的,比如:“a = 1”,这里变量”a“就是引用了对象“1‘。

       当我们进行多个变量赋同样的值时,比如:

a=1
b=1
c=1

        其实,a,b,c都只是引用了对象”1“,它们并没有创建新的对象。

        而”del“,就是用来删除变量的。也就是删除对象的引用。比如:”del b“

        变量(引用)b被删除了,但是a,c仍旧存在。对象”1“也依然存在。

 

        

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值