计算机编程入门--python

计算机基础知识

存储

计算机是二进制进行存储和计算的,二进制就是逢二进一,所以存储的只有0和1,任何文件都是01串,至于怎么用01串表达各种形式的文件,就需要自行去了解各种协议了,就是大家怎么约定。计算机的最小存储单位是比特位,就是一个0或者1,系统会对存储单位做编号,0,1,2,3…,要查询的时候就通过这个编号去找。这个编号就是内存地址,后面简称地址。当我们需要存储的时候系统也会给我们分配一个地址,我们就可以往里面写数据。

计算

我们平常熟悉的是加减乘除运算,这些运算都可以用与、或、非、异或四种位运算来表达,这四种运算对应四种基本门电路,感兴趣可以查阅相关知识。CPU就是通过这四种基本运算实现我们各种复杂功能,准确的说就是四种基本门电路。CPU只做计算,例如要计算两个数相加,需要把两个数从内存中取出送到CPU的寄存器,然后下达相加指令,然后把计算结果送回内存。寄存器是CPU计算用的临时容器,CPU只能操作寄存器上的内容,每个寄存器都有专门的职责,例如上文说的加减乘除运算的源操作数,计算结果(目的操作数)都有专门的寄存器存储。

高级编程语言

CPU制造商只提供基本的汇编语言,汇编语言直接操作寄存器、内容地址、系统堆栈、系统中断等。编写起来非常耗时,例如一个加法就需要先把源操作数放到寄存器再执行加法,最后取出结果。汇编语言的好处在于不用去操作最底层的门电路,而且可以做任何你想做的事,如果汇编不能做到的事,别的编程语言也做不到。高级编程语言就是在汇编上发展出的更高级的语言,不用亲自去操作寄存器、内存等系统底层的东西,编写起来更符合人的习惯而不是计算机的设计。当然计算机不能识别高级语言,需要编译器做翻译,翻译成汇编,再到最终的机器语言。

编程基础知识

代码运行

cd D:/目录名
D:
python 脚本名

变量

# 声明变量a,并赋值为1。系统会为a分配一个地址,并存入1
a = 1
# 输出a的值到屏幕,当用到a时,系统会通过地址找到
print(a)

所以变量的意义在于在系统中占一块内存,并起个名字方便再次使用

运算

a = 1
b = 2
c = a + b
print(c)

除了+,常用的还有减法- 乘法* 除法/ 整除// 取余数%

函数

def add(a, b):
    c = a + b
    return c
print(add(1, 2))

高级编程语言都有公共的函数库,由开发者共同开发维护,使用的时候导入相关库就可以使用

条件判断

def is_odd(a):
    if a % 2 == 0:
        return 0
    else:
        return 1
print(is_odd(17))

循环

def acc(n):
    '''
    计算从1加到n
    '''
    result = 0
    #range(a,b) 生成a,a+1....b-1的数列,一般函数的区间参数都是左闭右开
    for i in range(1,n+1):
        result = result + i
    return result
print(acc(100))

另一种写法

def acc(n):
    '''
    计算从1加到n
    '''
    result = 0
    while n > 0:
        result = result + n
        #对自身做操作的可以简写,这里就是 n -= 1
        n = n - 1
    return result
print(acc(100))

函数递归

def fb(a):
    # or表示满足一个条件即可, and表示都得满足
    if a == 1 or a == 2:
        return 1
    else:
        return fb(a-1) + fb(a-2)
print(fb(10))

这是一个递归求解斐波拉契数列的例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值