关于编程,有哪些基本的常识?

关于编程,有哪些基本的常识?

https://www.zhihu.com/question/369227636

无论使用哪种语言,最基本的问题是解决问题

如果能够非常清晰的描述问题,那么已经解决一半甚至一大半了

如果能够使用计算机可以理解的语言来描述问题,并描述具体的解决办法,详细步骤,就算完成了设计

用计算机解决问题的步骤一般称为算法

抽象对于计算机软件硬件,数据库,网络等等计算机相关的领域都是非常重要的

不同的程序员在不同的抽象层面工作

当你熟练掌握数据结构、具体算法(这些一般被划归到技术范畴)之后,就要面对面对复杂的业务逻辑了

优秀的程序员和低效的程序员平均生产力大约差20倍(甚至更多)而薪水可能只差2倍(甚至更少)

我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒? 2、某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么? 我们先回顾一下操作系统原理。操作系统中,CPU竞争有很多种策略。Unix系统使用的是时间片算法,而Windows则属于抢占式的。 在时间片算法中,所有的进程排成一个队列。操作系统按照他们的顺序,给每个进程分配一段时间,即该进程 允许运行的时间。如果在 时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程 序所要做的就是维护一张就绪进程列表,,当进程用完它的时间片后,它被移到队列的末尾。 所谓抢占式操作系统,就是说如果一个进程得到了 CPU 时间,除非它自己放弃使用 CPU ,否则将完全霸占 CPU 。因此可以看出,在抢 占式操作系统中,操作系统假设所有的进程都是“人品很好”的,会主动退出 CPU 。 在抢占式操作系统中,假设有若干进程,操作系统会根据他们的优先级、饥饿时间(已经多长时间没有使用过 CPU 了),给他们算出一 个总的优先级来。操作系统就会把 CPU 交给总优先级最高的这个进程。当进程执行完毕或者自己主动挂起后,操作系统就会重新计算一 次所有进程的总优先级,然后再挑一个优先级最高的把 CPU 控制权交给他。 我们用分蛋糕的场景来描述这两种算法。假设有源源不断的蛋糕(源源不断的时间),一副刀叉(一个CPU),10个等待吃蛋糕的人(10 个进程)。 如果是 Unix 操作系统来负责分蛋糕,那么他会这样定规矩:每个人上来吃 1 分钟,时间到了换下一个。最后一个人吃完了就再从头开始。于是,不管这10个人是不是优先级不同、饥饿程度不同、饭量不同,每个人上来的时候都可以吃 1 分钟。当然,如果有人本来不太饿,或者饭量小,吃了30秒钟之后就吃饱了,那么他可以跟操作系统说:我已经吃饱了(挂起)。于是操作系统就会让下一个人接 着来。
Python是一种高级编程语言,它强调代码的可读性和简洁性。Python支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。它广泛应用于Web开发、数据分析、人工智能、科学计算和更多领域。Python的设计哲学之一是尽量少的代码完成更多的功能,它具有丰富的标准库,涵盖了从文本处理到网络编程等多个方面。 以下是一些Python的基本常识: 1. Python解释器:Python代码需要通过Python解释器来运行。它可以交互式地解释和执行代码,也可以运行预先编写的脚本文件。 2. 变量和数据类型:Python中的变量无需声明类型,它们是在赋值时动态绑定的。Python拥有标准数据类型,如整型(int)、浮点型(float)、布尔型(bool)、字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)等。 3. 控制结构:Python使用缩进来定义代码块,而不是使用大括号或关键字。常见的控制结构包括if-else条件语句、for和while循环。 4. 函数:Python中的函数使用def关键字来定义。函数可以有参数,也可以有返回值。 5. 模块和包:Python的代码组织单元是模块。模块可以包含变量、函数和类的定义。包是一种管理Python模块命名空间的形式,它使用点分隔的模块命名。 6. 异常处理:Python使用try-except语句来处理程序中的错误和异常情况。 7. 面向对象编程:虽然Python支持面向对象编程,但它不是必须采用的风格。类使用class关键字定义,对象是类的实例。 8. 标准库和第三方库:Python的标准库提供了广泛的模块和函数,可以处理诸如网络、文件IO、数据结构、日期和时间等常见任务。此外,Python社区提供了大量的第三方库,可通过包管理工具pip安装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值