设为首页 收藏本站
查看: 1066|回复: 0

[经验分享] python核心编程-第三章-个人笔记

[复制链接]

尚未签到

发表于 2015-12-1 13:30:36 | 显示全部楼层 |阅读模式
  1.语句和语法
  (1)反斜杠"\"表示语句继续。python良好的编程习惯是一行最后不超过80个字符,一行字符过多时便须用到反斜杠换行继续该语句。
  PS:在使用小括号、中括号、大括号时可以跨行书写,无须反斜杠;三引号的字符串也可以跨行书写
  (2)分号";"可以在同一行写多个语句。虽然python支持这么做,但为了代码可读性,一般不建议这么做
  2.变量赋值
  (1) python中,对象是引用传递的,而不是直接将值赋给对象  如:



>>> a = 123
>>> b = a
>>> a
123
>>> b
123
>>> a = 456
>>> a
456
>>> b
123
  语句 a = 123,执行的是创建整型 123 以及变量a,并把a指向这个整型;
  语句 b = a ,执行的是创建变量b 并把b指向a指向的整型123
  在重新给a赋值时,a的指向发生变化,b的指向并没有发生变化,所以在执行 a = 456 之后,a 的值是 456,b的值仍是123
  (2)多重赋值  形如x = y = z = 1,一个对象被赋予多个变量
  (3)多元赋值  这种赋值方式的等号两边都是元组



>>> x, y, z = 1, 2, 'ab'
>>> x
1
>>> y
2
>>> z
'ab'
  1、2、'ab'三个对象分别赋值给x,y,z  
  为了提高代码可读性,最后给两边的元组都加上括号



>>> (x, y, z) = (1, 2, 'ab')
>>> x
1
>>> y
2
>>> z
'ab'
  多元赋值可以方便的用于变量交换



>>> x = 123
>>> y = 456
>>> x
123
>>> y
456
>>> (x, y) = (y, x)
>>> x
456
>>> y
123
  3.标识符
  ①标识符只可包含字母、数字、下划线,首字符不可为数字
  ②定义字符时须避免python关键字和内建字符。python关键字如下图:
DSC0000.png
  ③python用下划线作为变量前缀和后缀指定特殊变量,对解释器有特殊意义,故建议避免用下划线作为变量名字符的开始
  4.python基本风格
  (1)综述
  ①注释是必要的,但需要注意不能过度注释,如



x = 5    #对x赋值5
  这里的注释就是不必要的,因为这是句废话
  ②良好的缩进风格是四个空格,避免用tab
  ③使用简短而又意义丰富的标识符名称
  (2)模块结构和布局
  ①典型的python模块结构,如图
DSC0001.png
  ②除非必要,尽量用局部变量代替全局变量
  ③除了真正需要执行的代码,需要导入模块时必须执行的代码,几乎所以功能代码应该都封装在函数或类中等待主程序调用
  ④python检测模块是被导入还是被直接运行,用__name__系统变量:
  如果模块是被导入,__name__的值为模块名字
  如果模块被直接执行,__name__的值为"__main__"
  5.内存管理
  (1)变量定义
  ①python中,变量使用前无须声明名字和类型,将在变量第一次赋值时自动声明
  ②变量仍然需要在被创建和赋值后才能使用
  ③变量被赋值后。可以通过变量名直接访问
  (2)引用计数
  python使用"引用计数"来保持追踪内存中的对象。一个内部跟踪变量,称为一个引用计数器,每个对象各有多少个引用,简称引用计数。对象的引用计数为0时被垃圾回收。
  ①增加引用计数
  当对象被创建时,就创建了一个引用计数;当对象被赋值给变量时,引用计数就计为1。
  当同一个对象又被赋值给其他变量,或者被作为参数传递给函数,或作为容器对象的一个元素时,对象的引用计数增加1。



x = 123
# 对象被创建并赋值,引用计数为1
y = x
#对象被引用给其他变量,引用计数加1
float(x)
#作为参数传递给函数,引用计数加1
list1 = ['ab','c',x]
#成为容器的一个元素,引用计数加1
  ②减少引用计数
  引用计数减少包括以下情形:
  一个本地引用离开了作用范围,这种情况最常出现在函数运行结束时所以局部变量都被销毁,对象的引用计数随之减少;
  对象的别名被del销毁



del y
# or del x
  对象的一个别名被赋值给其他变量



x = 456
  对象从一个容器对象中被移除



list1.remove(x)
  容器对象本身被销毁
  del list1
  6.第一个python程序
  (1)  try-except-else结构
  结构:



try:
pass
#try子块是希望检测错误的代码块   
except IOError,e:
pass   
#except子块对错误做出处理,当发生错误时执行此代码块
else:
pass
#else代码块在try子块检测无误时执行
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-145906-1-1.html 上篇帖子: python if not 下篇帖子: python 中文编码问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表