(一)Python基础笔记

0.廖雪峰讲了各种编码的问题,一定统一使用UTF-8格式, 使用Notepad++ 在编码中中选择  UTF-8 无BOM格式  才OK。

1.基础语法。

(1)python中没有++:
python 中变量是以内容为基准而不是以变量名为基准,所以只要小数字内容是相同,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了 python 中一个变量可以以多个名称访问;
这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果a 和 b 相同,当你改变了 a 时,b 也会跟着变;
正确的自增操作应该 a = a + 1 或者 a += 1,当 a 自增后,通过 id() 观察可知,id 值变化了,即 a 已经是新值的名称;
(2)赋值语句注意:
  • a = 1,   #后面的逗号让解析器创建了一个tuple内容为(1)
  • b = 1,2   #创建(1,2)的tuple
  • 通过以上两条知 想连续为变量c、d、e赋值时用 :c = 1, d = 2, e = 3 是不行的。应该 c, d, e =  1,2,3   或者将三个赋值写三行
(3)
a,b = 1,2
a,b = b,a+b    # 这种赋值,先计算等值 右边 那么 b=1 a+b=1,即运行后a = 2,b = 3。
运行实质:将a变量指向b所对应的对象。a+b产生临时变量,存放到新的空间中,b=a+b是将b指向那个新空间。(python中一切皆对象)
通过以下代码验证:
a,b = 1,2
print('a:%d' %id(a))
print('b:%d' %id(b))
print('a+b:%d' %id(a+b))
a,b = b,a+b
print('a:%d' %id(a))
print('b:%d' %id(b))

(4)python为了节省内存空间,将小整数定义在对象池里.所以当引用小整数时会自动引用整数对象池里的对象的.所以当不同的变量被赋值相同的小整数值时,这些变量的id相同。(参考:https://www.zhihu.com/question/25050656)

2.list 、tuple、 dict、 set 的特点、差别:

(1)list :
(2)tuple:一旦初始化就不能改变其中的值,但tuple中可以有list,这个list的值是可以改变的
(3)dict:通过 key - value存储,不能存在相同的key,为一个key赋值多次,之前的值会被冲掉且。key必须是不可变对象,因为dict根据key来计算value的存储位置。(字符、整数是不可变对象,而list是可变对象)
(4)set:相当于只存储dict中的key,是一个不含重复值的集合(若定义的时候存在重复值会自动取得其中一份)。因为原理和dict一样所以其中不能放可变对象list
(5)0list、tuple是有序的, dict、set是无序的
(6)list的查找速度回随着元素的增加变慢,list的存储节省空间。dict的查找速度不会随着元素的增加而变慢,dict的存储比较浪费空间。(典型以空间换时间)

3.理解不可变对象是啥:

>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'
要始终牢记的是,a是变量,而'abc'才是字符串对象!

当我们调用a.replace('a', 'A')时,实际上调用方法replace是作用在字符串对象'abc'上的,而这个方法虽然名字叫replace,但却没有改变字符串'abc'的内容。相反,replace方法创建了一个新字符串'Abc'并返回。

4.python中函数的定义:

(1)不需要定义返回类型,与不需要定义变量的类型相同。
(2)参数也是变量,不需要定义类型
(3)对参数进行限定:
def my_abs(x):
    if not isinstance(x, (int, float)):
        raise TypeError('bad operand type')
    if x >= 0:
        return x
    else:
        return -x
(4)返回多个值:
>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0
看似返回多个值,但其实这只是一种假象,Python函数返回的仍然是单一值

>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)

原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

(5)定义默认参数要牢记一点:默认参数必须指向不变对象!

(6)None为不可变对象!(http://blog.csdn.net/li_danny/article/details/49815761)

(7)python中参数非常灵活!



























  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的医院后台管理系统实现了病房管理、病例管理、处方管理、字典管理、公告信息管理、患者管理、药品管理、医生管理、预约医生管理、住院管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让医院后台管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值