而要使用如下代码,能够确定保证一下就把您的体制表降低到百分之多少

图片 3

代码:

3、编译型高级语言/解释性高级语言

高级语言接近人类英语,编写的代码可读性也很强,但是计算机是无法直接理解和执行源代码的,因为计算机只认识二进制代码,所以不论是哪一种高级语言,都需要将源代码转换成二进制代码后才能被计算机执行。

在转换过程中,有2种不同的情况:

1、编译型

编译型高级语言,在程序执行之前,需要提前将源代码通过编译器转换成目标文件(二进制代码),然后计算机直接执行目标文件。

优点:计算机执行效率高、速度快

缺点:

如果程序需要修改,必须修改源代码并再次编译,修改不方便

一旦编译完成,目标文件就只能在当前操作系统和cpu架构上运行,无法在其他平台使用,除非重新编译

举例:c、c++、c#

2、解释型

解释型高级语言,由解释器实时读取源代码并编译成二级制代码交由计算机执行。

优点:

程序的修改直接操作源文件即可,修改方便

只要计算机安装了对应平台的解释器,源代码就可以被执行,即一份源代码可以在不同平台运行,平台兼容性好

缺点:

因为需要实时编译,所以运行效率低、速度较慢

需要一个匹配版本和平台的解释器与源代码共同工作

举例:python、java、ruby

四、python中的变量

1、注释要简单明了。

代码:

8、常量

常量的命名规范和变量一样,不过常量的命名约定俗成的是全大写。

常量用于保存基本不变的数据,python没有提供类似c语言的const关键字来强制规定常量的不可变性,所以python中的常量是约定俗成的不可变。

    高级语言:和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节。

8、检查函数所有参数输入的有效性。

而要使用如下代码:

17、while…else…

 据说使用while后面的else,如果while正常执行完毕,则执行else。如果while没有正常执行完毕如被break打断,则不会执行else。可以使用else是否执行来判断循环是否正常执行完毕,我觉得这并不合理,考虑下述代码:

 1 i = 11
 2 while i < 10:
 3     print('i is:', i)
 4     i += 1
 5     if i == 3:
 6         break
 7 else:
 8     print('循环正常执行完毕')
 9 
10 # 循环没有正常执行完毕,实际上循环根本就没执行,else也被执行了。所以else被用于判断
11 # while是否正常执行我觉得并不合理。

 

八、程序效率

  1. 编写代码时要合理使用缩进,以使代码清晰可读。 13.
    把项目文件放到SOURCE、HEADERS、MAKE、EXES等不同的文件夹中。 14.
    研究别人编写的代码。这可以让你学习到新的编程技术,以及他们解决和你相同的任务时所使用的方法。
    15.
    最后一条(但不是最不重要的一条),备份源代码文件,这样当硬盘出错或相同的问题发生时,不至于前功尽弃。
    附加:补充一条,坚持使用一种命名模式。如果你打算用匈牙利命名法,那就坚持并广泛使用,否则将适得其反。参见微软资深工程师
    Eric Lippert 的这篇文章《阅读代码不简单》。 编者后话
    编程的好习惯应不止这15条,也许您不认同上文中的某些观点,请标出相应序号,并说明其不足之处。另外,非常欢迎大家补充分享您的好习惯。
    译文出处:伯乐在线 – 职场博客 译文链接: 原文作者:Al katib
    文章推荐:关关 翻译:伯乐在线 敏捷翻译组 – **朱勇**

12、数据类型

计算机只认识二进制,对于计算机而言,数据没有类别,全部都是010101010…

但是对于人类而言,人类世界中的数据、信息是五花八门的,我们编码的过程其实就是在计算机世界中对现实世界进行建模的过程,所以我们需要对人类世界的数据划分类别。

基础的数据类型有:数字(整数+小数)、字符串、布尔值

我们使用int来表示整数类型、float表示小数类型

我们使用str表示字符串类型

我们使用bool表示布尔值类型

数字类型用于计算、字符串类型用于表示信息、布尔类型用于判断

    图片 1

十一、代码测试、维护

#define PI 3.14circleArea = PI * pow(radius,2);

2、编程语言历史

计算机只能理解二进制数据,二进制数据中蕴含了很多指令、操作、数据,计算机通过cpu直接运行二进制代码执行不同的功能,二进制代码被称为机器语言。

但是机器语言(二进制代码)对于人类而言可读性太差、编写太困难,所以人类需要使用适合自身的语言来编程以操作计算机。

一开始,人类将机器语言中的代码进行分类、标记,把蕴含操作行为、蕴含数据的二进制代码使用英语单词标记,形成了汇编语言。汇编语言的模式是:操作行为+被操作数。

操作行为和被操作数都使用英语单词代替了一串010101的二进制代码,这样人类只需要编写汇编语言,再将汇编语言通过之前的映射关系转换成二进制即可。

通过汇编语言,人类即可以方便的编写代码,又可以通过转化得到对应的二进制代码让计算机运行。

但是,汇编语言依然可读性较差、编写也不是非常的方便,要实现一个简单的功能需要非常多的汇编代码,代码冗余性依然很高。

于是,人类模仿汇编和二进制的对应关系,将高级语言和汇编又对应起来,这时候人类就只需要编写高级语言,再通过编译器将高级语言转换成汇编语言或者直接转换成二进制代码。

高级语言的代码非常接近人类的英语,所以使用起来很方便。

因语法规则、语义的不同,高级语言分为很多种,如:python,java、c、c++、JavaScript,ruby等等。

  3、位运算:

13、充分了解系统的接口之后,再使用系统提供的功能。

circleArea = 3.14 * pow(radius,2);

9、python安装

www.python.org官网下载最新版本3.6.5,根据电脑配置选择32或者64位,安装的时候选择add
to
path并自定义安装位置和其他高级选项,安装完成可以直接shell进入python解释器。

while True:
    print ("123")
    continue
    print ("456")

四、可读性

1 for(int i=0;i10;i++)2 {4 printf(“i=%dn”,i);3 }

16、流程控制-循环-while

while关键字后面的语义是:判断条件是否成立?成立的话执行一次循环体然后再次判断条件是否成立。不成立的话跳过此循环体执行后续代码。

因为循环代码有导致死循环的风险,所以任何一个循环定义,都需要预先设计循环跳出条件。循环可以在循环体中通过break跳出,或者通过while条件判断不成立跳过。(当然,也可以在循环体中exit)

通过continue可以提前结束当前循环,直接开始下一次的循环while判断,注意:continue应用于跳过后续本应该执行的代码。

因为continue可以跳过后续本应该执行的代码,而后续执行代码中可能包含循环跳出的设置如:i
+=
1。所以continue的使用会有死循环风险,需要单独处理循环跳出问题。

    while循环

5、尽量不要编写依赖于其他函数内部实现的函数。

注:每一行开头的数字表明写循环代码的顺序。 7. 避免使用幻数。例如,不要写

18、while的使用

思考如下练习:

# 使用while,完成以下图形的输出


#
# *
# * *
# * * *
# * * * *
# * * * * *
# * * * *
# * * *
# * *
# *

 1 star = 1
 2 most_star = 5
 3 while star <= most_star:
 4     print(' *' * star)
 5     if star == most_star:
 6         while most_star > 0:
 7             most_star -= 1
 8             print(' *' * most_star)
 9         break
10     star += 1
11 
12 row = 1
13 most_row = 5
14 while row <= most_row:
15     print(' *' * row)
16     row += 1
17 row = most_row - 1
18 while row > 0:
19     print(' *' * row)
20     row -= 1

 while循环只能打印一个方向,如果是两个相反的方向,需要两个while。两个while可以写成第二个while放在第一个while的末尾。

 

 

 

 

 

    机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

(5)全局效率,指软件系统的整体效率。

8.
使用有意义的变量和函数名称。例如,使用‘radius’来代替圆的半径,而不是用‘r’来表示。同样,函数名‘calculateArea’要比其他任何隐晦的缩写要好得多。匆忙之下,我们也许会使用缩写的变量名,但一开始节省时间的话,之后会浪费更多的时间,去猜测缩写变量名代表什么。
9.
为后面的调试使用打印语句,这是个好习惯。但是,当完成最后代码后,去掉这些语句,有时也是一项危险的任务。添加一个方法,用于输出调试信息。当最终版本生成时,只要把这个方法注释掉就行。因此,只在一个地方做修改就可以了。
10.
代码编写完之后,开始优化代码。之前声明的一些变量,现在可能没用了。同样,并不依赖循环的一些声明可以移到循环模块之外去。扎实的编译知识同样会对以后的代码优化有所帮助。
11.
对自己的操作系统和硬件要有足够的了解,你可以从资源占用等方面提升程序的性能。

5、python解释器

解释器也是一种程序,功能是将python源代码翻译成机器语言。解释器可以使用多种语言编写,有如下几种:

cpython,官方发布的解释器,使用c语言编写

ipython,在cpython基础上套了一个壳,提高用户交互性

pypy,据说使用jit技术动态实时编译使得代码运行速度更快,但是目前暂不成熟

jpython和icronpython,使用java和.net编写,一般不使用

    按位反转仅能用在数字前面。所以写成 3+~5
可以得到结果-3,写成3~5就出错了

1、单元测试要求至少达到语句覆盖。

编者按:这是国外程序员Al katib总结的一些编程习惯。 1.
动手编码之前,你需要对要编码实现的解决方案有一个正式的或粗略的设计。永远不要在没有任何设计的前提下就开始编码,除非所编代码不重要。
2.
优秀的代码文档跟编程语言知识一样重要。在代码源文件中,为每个主要的代码段添加注释,解释代码的基本逻辑。最好注明程序的构建和修改日期,以及修改的原因也是非常有必要的。
3.
维护程序的各个版本同样重要。当前有些编程工具都自带一个版本管理工具。无论你什么时候改变自己的程序,它们都会将其保存为.bak文件。
我的方法是为每个程序维护三个不同的版本。比如说,我有一个名为program.c的文件,这个文件同时也被其他项目组成员使用。我把这个文件复制为program.c.old作为备份文件,并且当我修改时,我会备份另一个名为program.c.wrk的副本文件。当成功完成修改时替换program.c.wrk文件。
你还可以给自己的程序版本添加一个日期或一些注释,像program260505.c或programReadFnWrking.c。
4.
如果工程包含多个源文件,则声称一个README文件,注明每个源文件、数据文件、临时文件以及日志文件(如果有的话)的作用。你还可以注明编译和运行步骤。
5.
有时候,你一定想知道为什么IF语句没有得到预想的结果。可能你使用的是等号,也就是“=”,而不是条件判定符号“==”。一个比较好的办法是用相反的顺序写条件语句。因此,你的条件语句应该如下:
if(10==i)…因此,如果你错误地写成了单个等于号,在编译的时候也能检查出来并报错。
6.使用循环和条件语句时,先把左右括号对应起来,然后再在里面写其他语句。也就是:

13、字符串格式化输出

所谓格式化输出,其实就是在编码过程中定义展示模板,在模板中通过占位符代表后续有对应数据填充在此。

占位符:

%d 整数类型

%f 小数类型

%s
字符串类型(%s是万能匹配,即任意数据类型都可以填充到%s占位符中)

%r
原格式(将数据的原始格式存放到%r占位符中,如字符串的原格式就包含引号)

    for循环

2、单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。

代码:

1、计算机历史

计算机使用高低电压的两种状态来描述信息。计算机可以理解的只有二进制数据即010100011….,1个比特位可以表示的状态只有2种,n个比特位可以表示的状态有2的n次方种。

所以如果想要描述天气状态:天晴、下雨、刮风、下雪、霜冻,则需要使用3个比特位。

图片 2注:九九乘法表

15、不使用与硬件或操作系统关系很大的语句,而使用建议的标准语句。

7、变量

1、变量存在的原因

用于保存阶段性计算的结果,同时变量用于描述程序中的一些数据,良好的变量命名和使用会增加代码的可读性。

2、变量命名规范

变量名可以是数字、字母、下划线的任意组合,注意:不可使用除了下划线之外的特殊字符

变量名开头不能是数字

变量名不能和python预定义的关键字重名

注意:python竟然可以使用中文作为变量名!

3、变量定义语法

age = 26

定义一个变量,它的名字是age,此变量指向内存中的一个对象,此对象值是26

      python不是混合型而是解释型。因为首先需要知道,只有在import导入py文件时,才会产生pyc字节码文件,该字节码文件是可以代替源文件而直接执行的,每次执行py文件,产生的字节码并不会保留下来,也就是说,每次执行py文件,都是要重新经历一遍:py文件->字节码–>python解释器–>机器码,每次都是一个重新解释执行的过程。

3、较长的语句、表达式等要分成多行书写。

4、python版本

python有2个相互不兼容的大版本,版本2最高是2.7,版本3截止20180603最高是3.6.5。版本2官方宣布将会维护到2020年,建议现在选择版本3编码。

一、python前言

(6)局部效率,指某个模块/子模块/函数的本身效率。

11、注释

不论哪一种高级语言,我们在编码的时候都是将脑海中的思路、信息、步骤简化成实际的代码。将大脑中的信息转换成实际代码的时候,会有很大的信息量丢失,即代码所表达的信息量是很少的。

所以单独的代码无法还原编码时的全部信息量,此时我们就需要使用注释来弥补代码缺失的信息量。优秀的注释+代码可以提供很高的可读性,也方便后续代码使用和维护。

注释有几个需要遵守的规范:

1、注释的内容应该保持与代码的强一致性,注释应该精简、准确的表达代码的含义、编码背景等

2、可以使用中文或者英文

3、注意注释的使用量,在适当且必要的地方使用注释,如:重要流程节点、复杂代码块解释等

    图片 3

2、边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。

15、流程控制-分支

程序默认是自上而下没有分支的执行代码。很多时候我们需要通过判断程序运行中间的某一种状态、情况、值,来决策程序下一步该执行哪些代码。

通过分支提供多条执行路线,分支有双分支、多分支。

之所以可以划分多种分支是因为可能出现多种不同条件,而这些条件的概率和应该为1。

分支需要特别注意条件判断的逻辑性,多种条件只会执行其中一个条件,条件之间是相互对立的。

通过if  elif  elif 
else来提供多分支,通过条件的布尔值结果判断条件是否成立。

注意:条件判断应该把概率大的放在前面,概率小的放后面,对于无法明确具体判断条件的可以放在else统一匹配。另外,判断input的返回值的时候注意,input返回值一定是字符串。

    多分支

3、使用匈牙利表示法

10、输入/输出

python中通过input函数提供shell输入,通过print函数提供shell打印。

input函数会阻塞程序执行直到获取shell输入值

    Cpython:最常用的版本,是使用c语言实现的使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

4、编程时,要随时留心代码效率;优化代码时,要考虑周全。

14、运算符

算数运算符

+  –  *  /  (注意,/
除法运算符得到的商可以是小数,即5/2 = 2.5)

//  % 
(地板除得到的结果是商的整数部分,如5//2 =
2。取模得到的结果是未整除的结果,如5%2 =
1,对2取模可以判断奇偶。)

**  (幂运算,5**2 =
25)

比较运算符

==  >  <  >= 
<=  != 
(==表示的是两边对象的值是否相等,python3中使用!=表示不等于,不再使用<>)

赋值运算符

= (赋值)

+=  -=  *=  /=

//=  %=  **=

(在原有值的基础上做运算,并赋值给原有变量,如a
= 5, a %= 2,此时a = 1)

逻辑运算符

and  or  no 
(逻辑判断会使用短路判断,所以:使用and的时候,概率小的放前面。使用or的时候,概率大的放前面。)

 补充:

2、只引用属于自己的存贮空间。

6、python文件执行

两种方式执行python文件,一种是启动解释器并将python源文件作为参数,解释器读取文件中代码。一种是启动解释器,在交互环境编写代码执行。

    Jpython:Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。

2、同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。

二、python简介

4、函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。

  3、python的工作机制

4、明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。

 

9、留心具体语言及编译器处理不同数据类型的原则及有关细节。

三、python文件

4、代码版本升级要经过严格测试。

     continue

14、减少函数本身或函数间的递归调用。

六、流程控制

10、函数名应准确描述函数的功能。

  1、算数运算:

2、构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。

  2、比较运算:

6、通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。

     break

一、排版:

  #!/usr/bin/env python     (调用环境变量,用python来执行该文件,也可以只写python的绝对路径来执行该文件)

3、仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。

相关文章

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图