python开发技术详解(一)

python是一门简单灵动的语言。从今天开始我要每天都做笔记,每天都要写博客记录我所想,我所学到的。

笔记提纲:

  1,python的简单介绍,python的编译用法,有什么要注意的。

  2,命名规则

  3,常量


 

1,python的简单介绍,python的编译用法,有什么要注意的。

  python是一门比较新,比较高级的语言。换言之,由于高级,所以没有指针等变量的严格区分。换言之,熟悉python(不是熟练)花的时间要比其他语言少很多时间。

  python是一门动态编译语言。特征就是代码精简,灵活。

     py,pyc,pyo的区别

  pyc py文件的二进制文件形式。

import py_compile
filename=''
py_compile.compile(filename);

  pyo 是经过优化后的py程序。

   在命令行执行:python -O -m py_compile file.py  即可生成pyo文件。


2,命名规则

1,类名用大写字母

2,私有变量前加两个下划线。

3,对象名用小写字母。

4,方法名首个字母小写,后面每个单词首字母大写。


3,常量

  python没有提供像const这样的保留字。但可以自定义一个方法来实现常量。

  文件:const.py

  

#!/usr/bin/env  python
#-*-coding:utf-8-*-
#
#####################################
#@author: xyt
#@version: 1.0
#####################################
#

class _const():'''自定义const常量函数'''class ConstError(TypeError):passdef __setattr__(self,name,value):if self.__dict__.has_key(name):raise self.ConstError, "can't rebind const (%s)" %nameself.__dict__[name]=value
'''将变量注册到sys.modules中'''
import sys
print __name__
sys.modules[__name__]=_const()

  文件:test.py

#!/usr/bin/env  python
#-*-coding:utf-8-*-
#
#####################################
#@author: xyt
#@version: 1.0
#####################################
#
import constconst.magic=23
const.magic=34

 

讲解:两个文件必须处于同一个目录下才能引用。

   

import sys
sys.modules[__name__]=_const()

在test.py文件 import const时候

会执行:sys.modules['const']=_const()

    会自动创建一个_const类型对象 const。  

  

转载于:https://www.cnblogs.com/canbefree/p/4011135.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(Android Studio)添加文本框

此文大部分摘自http://hukai.me/android-training-course-in-chinese/basics/firstapp/building-ui.html android : id 这是定义View的唯一标识符。可以在程序代码中通过该标识符对对象进行引用,例如对这个对象进行读和修改的操作(在下一课里将会用到)。 当想从XML里…

java final keyword

依据上下文环境,java的keywordfinal也存在着细微的差别,但通常指的是“这是无法改变的。”不想改变的理由由两种:一种是效率,还有一种是设计。因为两个原因相差非常远,所以关键子final可能被吴用。 接下来介绍一下使用…

听GPT 讲Rust源代码--src/tools(24)

File: rust/src/tools/clippy/clippy_lints/src/types/borrowed_box.rs 在Rust源代码中的rust/src/tools/clippy/clippy_lints/src/types/borrowed_box.rs文件是Clippy项目的一个规则,用于检查可能是误用或错误的Box引用情况。 Rust中的Box是一个堆分配的值的所有权…

递归乘法

递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。 示例1: 输入:A 1, B 10输出:10示例2: 输入:A 3, B 4输出:12提示: 保证乘法…

Building a RESTful Web Service

http://spring.io/guides/gs/rest-service/ Should shutdown tomcat service first , and then java -jar *.jar转载于:https://www.cnblogs.com/churuosi/p/4774151.html

IOS的各种手势

转自http://blog.csdn.net/likendsl/article/details/7554150 一、概述 iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event - (void)touchesCancell…

duilib获取字符串的像素长

CDuiString m_test_string _T("测试字符串")HDC m_hDc m_pm.GetPaintDC();// 100 是xml中配置的字体的编号HFONT hFont m_pm.GetFont(100);::SelectObject(m_hDc, hFont);SIZE size;GetTextExtentPoint32(m_hDc, m_test_string, i, &size);return size.cxThe …

(转)rvm安装与常用命令

rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换。 https://rvm.io/ 如果你打算学习ruby/rails, rvm是必不可少的工具之一。 这里所有的命令都是再用户权限下操作的,任何命令最好都不要用sudo. rvm安装 $ curl -L get.rvm.io | bash …

Symfony2 EventDispatcher组件

一个插件系统中,A插件在不影响其它插件的前提下,添加新的方法,或者在一个方法运行前做一些准备工作,通过继承来实现扩展是很不容易的,由于插件之间的关联关系,A插件的改变也会使得关联的插件被动的修改。Sy…

【转】漫谈ANN(2):BP神经网络

上一次我们讲了M-P模型,它实际上就是对单个神经元的一种建模,还不足以模拟人脑神经系统的功能。由这些人工神经元构建出来的网络,才能够具有学习、联想、记忆和模式识别的能力。BP网络就是一种简单的人工神经网络。我们的第二话就从BP神经网络…

给定一个值S,在有序数组中找出两个元素A和B,使 A+B = S.

在网上看到过一个面试题,感觉挺有意思,看别人的代码写的逻辑不够谨慎,重写了一个,较真了又。。。 package com.array7.algorithm;public class AlgorithmTest {public static void main(String[] args) {int[] arr {2 ,4 ,5 ,8 ,…

二叉树的最小深度

给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树[3,9,20,null,null,15,7] 3/ \9 20/ \15 7返回它的最小深度 2. c 广度优先 /*** Definition for a b…

(转)会议期刊论文发表介绍(计算机科学领域)

转自:http://blog.csdn.net/babyfacer/archive/2009/07/25/4377552.aspx 一、计算机科学期刊介绍计算机科学的publication最大特点在于:极度重视会议,而期刊则通常只用来做re- publication。大部分期刊文章都是会议论文的扩展版,首…

笑男手札:SharePoint 2013 单一服务器场环境恢复数据库内容

SharePoint 2013 单一服务器场环境恢复数据库内容 笑男的公司服务很多客户,当然,这些客户都很挑剔,所以一般情况下生产(Prod)环境的服务是不能停的。 当然,如果你将包含相同网站集的数据库连接到同一个服务…

数组中数字出现的次数

一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums [4,1,4,6] 输出:[1,6] 或 [6,1]示例 2:…

【转】String Date Calendar之间的转换

1.Calendar 转化 String Calendar calendat Calendar.getInstance(); SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd"); String dateStr sdf.format(calendar.getTime()); 2.String 转化Calendar String str"2012-5-27"; SimpleDateFormat sd…

图解 深入浅出 JavaWeb:Servlet 再说几句

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket 上一篇的《 Servlet必会必知 》受到大家一致好评 — (感谢 读…

react.js 从零开始(五)React 中事件的用法

事件系统 虚拟事件对象 事件处理器将会传入虚拟事件对象的实例,一个对浏览器本地事件的跨浏览器封装。它有和浏览器本地事件相同的属性和方法,包括 stopPropagation() 和 preventDefault(),但是没有浏览器兼容问题。 如果因为一些因素&#x…

乘积的最大子数组

给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。示例 2: 输入: [-2,0,-1] 输出…

javascript new

1. 仅function可以使用new 2. function使用new时,会拷贝function中this的内容给新对象,并将function的prototype指向新对象(如果该function没有prototype,则指向Object的prototype) 注:function本身不是Obj…