前言:本文章主要用于个人复习,追求简洁,感谢大家的参考、交流和搬运,后续可能会继续修改和完善。

因为是个人复习,会有部分压缩和省略。

计算机基础概念

什么是计算机?

现在我们所说的计算机不光能进行算术运算,还能进行逻辑判断,数据存储,网络通信等功能,以至于可以自动的完成非常复杂的工作。像台式机、笔记本、手机、服务器、路由器、智能家电都可以称为“计算机”

一台计算机由以下几个重要的组件构成:
CPU

存储器(内存,硬盘等)

输入设备(键盘,鼠标等)

输出设备(显示器,音响等)

PS:显卡(GPU)适合CPU类似的计算芯片。只不过CPU是“通用计算机芯片”,可以处理各种场景下的各种问题,就像高校培养出来的学生,可以在各个行业各个领域贡献力量。

而GPU是“专用计算芯片”,特别擅长处理浮点数运算,就像培训机构培训的学生,专精一个方向

Python都能干什么

经历了多年的发展,Python目前是一个应用场景非常广泛的编程语言

科学计算和数据分析、Web开发(搭建网站)、自动化运维、人工智能、爬虫程序、自动化测试等等

Python的优缺点

优点:

语法言简意赅,容易上手

功能强大,用途广泛

生态丰富,具有海量的成熟第三方库

方便调用C/C++编写的代码进行高性能/系统级操作

缺点:

执行效率比较低

对于多核心并发程序支持偏弱

动态类型系统对于大型项目不太友好

常量和表达式

我们可以使用Python来进行一些算术运算:
print(1 + 2 - 3)//打印,print是属于Python里面的一个内建函数
print(1 + 2 * 3)//会先算乘除,再算加减,叫优先级
print(1 + 2 / 3)//先算乘除,后算加减

注意:

在Python中,2/3得到的是0.666666,而不是0。与C语言/Java/C++不同,整数除整数结果还是整数,并且会把小数部分直接舍弃。那么不应该是0.666667吗,怎么是0.666665呢,因为在编程中,没有四舍五入的规则,而是使用IEEE754标准,在这个标准下,所规定的浮点数(表示浮点数时),它在表示一些数据时,可能会出现一些非常小的误差

形如1 + 2 - 3称为表达式

这个表达式的运算结果,称为表达式的返回值

1,2,3这样的数字,称为字面值常量

+、-、*、/称为运算符或操作符

变量和类型

变量可以将我们算出的结果保存起来,想用时又可以随时调用

变量可以视为是一块可以存储数据的空间(可以想象成一个纸盒子,变量是在内存上的)

例如我们可以计算方差(其中就涉及到了变量、运算符、内建函数、字面值常量等的应用):

1.计算平均值

2.针对每个数字,分别计算数字和平均值的差值,再平方

3.把上述的平方值相加

4.除项数    再-1

avg = ((67.5 + 89.0 + 12.9 + 32.2) / 4)
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2
result = total / 3print(result)

PS:Python中,用**2表示平方运算,**3表示立方运算

=表示赋值运算符,不是相等

与变量相关的详细语法规则

变量的命名规则://属于硬性规则,必须得遵守

1.变量名必须由数字、字母、下划线构成,不能包含特殊符号,也不能由数字开头

a1     √

1a     ×

a*a    ×

2.变量名不能和Python的关键字重复

(关键字:在语法中有特定含义的单词。例如:if.......)

3.Python中的变量名是区分大小写的

//一些软性规则,建议遵守

1.给变量命名时,尽量使用有描述性的单词来表示,尽量通过名字来表示出变量的作用

2.当一个单词描述不清时,可以使用多个单词来命名。不怕变量名字长,就怕变量名描述不清楚。

当包含多个单词时,命名有多种规范:

例如:

驼峰命名:除了第一个单词的首字母之外,后续每个单词的首字母都大写。personInfo、totalCount。

蛇形命名:单词之间使用下划线_来分隔。person_info、total_count

使用变量

首次使用=对a设置值,这个过程是创建变量(初始化)

后续再对a使用=操作,则是相当于修改a的内容(赋值)

变量的类型

变量的类型:对于不同种类的变量做出区分

Python中的变量的类型,不要在定义变量的时候显式声明,而是依靠初始化语句,根据初始化的值的类型来进行决定的。即变量类型是由初始化的值来决定的

1.整数(int)

在Python中,int能够表示的数据范围,是无穷的。Python的int是可以根据要表示的数据的大小,自动扩容的。只要内存够大,就能无限大。因此,Python中也就没有short、long这样的类型存在的必要了

2.浮点数(小数)

Python中的float和那些不一样,像C语言、C++中的float都是4个字节的。Python中的float就是双精度浮点数,等同于C/C++中的double,虽然等同于,但是它实际占4个字节

之所以这样设计,是因为Python的一个设计哲学:解决一个问题,只提供一个方案

PS:通过type可以看到当前变量的类型

3.字符串

把一个个字符放到一起,就构成了字符串,像英文字母,阿拉伯数字,标点符号,甚至汉字,这些都可以认为是字符

在Python中,要求使用''把一系列的字符引起来,就构成了字符。引号使用单引号或双引号都是可以的(str就是字符串的意思)

4.布尔

布尔类型是一个特殊的类型,主要用于逻辑判断。布尔的取值只有True(真)和False(假),因

要注意拼写大小写,因为有些真假是TRUE纯大写,有些真假是true纯小写。计算机中用0表示假,用非0表示真

那么单引号和双引号的区别在哪里呢?

假如我们有一段话,my name is "xigua",这种情况下,本就包含双引号/单引号,这样会报错。

s1 = "my name is 'xigua' "# 就使用在这种场景

因此,如果字符串里包含了双引号,表示字符串就可以用单引号引起来,如果字符串里面包含了单引号,表示字符串就可以使用双引号引起来。

这几种引号都是等价的关系,哪个方便哪个好用,就用哪个,这个没有什么实际的影响

如果同时有单引号和双引号,怎么办?

Python中还有一种表示字符串的方法,是使用三引号'''或"""表示

PS:在Pycharm中,红色的波浪线,是语法错误。黄色是警告,仍可以运行。绿色是拼写检查的意思。

除了上述类型之外,Python中还有list,tuple,dict,自定义类型等等,我们后续介绍

为什么要有这么多类型?(类型的意义)

1.类型决定了数据在内存中占据多大空间(不同的类型,占用的内存空间是不同的,这里的空间指的是占几个字节。int默认是四个字节,但是它能动态扩容。float固定是8个字节。bool一个字节就足够了,str是可以变长的变量,包含的内容越多,占的空间就越大)

2.不同的类型,对应能够进行的操作也是不同的。

例如:

int/float,可以加减乘除,但是不能使用len

str可以使用len,可以加,但是不能减,不能乘除,

字符串

求字符串长度

len

print(len(a))

字符串拼接

a1 = "hello"
a2 = "world"
print(a1 + a2)形如这样的代码,就是字符串拼接,也就是把后面的字符串拼接到前一个字符串的末尾,,得到了一个更大的字符串,对于原来的a1和a2是没有影响的,是生成了一个新的字符串

注意:我们不能把字符串和数字混合相加

在Python中,报错有两种情况:

1.语法错误。在程序运行之前,Python解释器就能把错误识别出来

2.运行错误。在程序运行之前,识别不了的,必须要执行到对应的代码,在能发现问题

动态类型特性

动态类型:指的是在程序运行过程中,变量的类型可能会发生改变//注意,是在程序运行过程中

随着a的类型随着程序的运行发生了改变,这种特性就叫做动态类型

一个编程语言是否是动态类型,只是取决于运行时类型是否发生改变,不取决于变量定义时是否声明类型,也就是说并不是写一个int a;就代表a一直是int类型且不能改变,并不是。

Python作为一个动态类型的语言,在定义变量时,也是可以写类型的

例如:a:int = 10

用:就可以。意思就是a创建出来,是一个整型变量。这起到一种类似声明的效果,但是这样写,并不会因为这个声明使得类型不发生改变。

所以针对变量类型的声不声明,并不影响我们的类型系统是动态还是静态

Python引入这个是为了方便程序员读代码,写代码,也方便Python开发工具更好地对代码进行解析

静态类型

程序运行过程中,变量的类型始终不变

int a = 10;//a这个变量在程序运行的整个过程中,始终都是int类型,如果尝试a = "hello",编译阶段就会报错

动态类型这样的写法是比较灵活的,提高了语言的表达能力

但是这样的灵活也会带来问题,在编程中,“灵活”往往是贬义,更容易出错!!!

相比之下,静态类型的语言还是更好一些,尤其是在大型的程序中,多人协作开发中。因此很多公司在创业之初,喜欢用Python来开发。因为Python很灵活,开发快,能快速搭建出一个产品原型,这个时候,产品规模小,也就是一两个程序员很快就能搞出来,很快就容易上线

但是当项目达到一定的规模之后,到后面随着功能不断地迭代,模块不断地变复杂,团队逐渐变大。此时动态类型的劣势就逐渐体现了,这个时候,很多公司就会针对之前Python写的代码使用其他语言进行重构,避免动态类型带来的问题

注释

能够对代码起到解释说明的作用,提高代码的可读性

批量注释代码:选中要注释的代码,ctrl+/就可以,再按一下就是取消注释

注释的语法

1.#开头的行注释(注释行)

一般是写在注释的代码的上方,也有少数情况下是写在要注释代码的右侧,很少会写在代码的下方,更不会写到左侧

2.文档字符串

使用三引号引起来的称为“文档字符串”,也可以视为是一种注释

特点:

可以包含多行内容

一般放在文件/函数/类的开头

"""或者'''都可以(等价)

注释的规范

如何写出比较好的注释:

1.注释的内容要是准确的,不能起到误导作用。公司中的项目要经常“迭代”,很容易发生调整原先代码的情况,有时候有些程序员会只修改代码,不修改注释,所以一定要记得更新注释。但凡要修改代码,务必要记得更新注释

2.注释的篇幅要合理,既不要太精简,也不要长篇大论

3.注释最好使用中文,因为注释是为了更好地方便阅读了解和说明

4.注释内容要积极向上,别搞负能量

Python学习01、计算机基础概念、初识Python、常量,变量,类型和表达式、字符串、动态静态类型、注释相关推荐

  1. 【Python学习笔记(一)—— 初识Python】

    Python学习笔记(一) 文章目录 Python学习笔记(一) 前言 一.Python简介 二.初识Python 1.最简单的Python程序 2.数据类型和变量 3.流程控制 4.函数 5.类 6 ...

  2. Python学习-01(其实是Linus基础)

    Python学习-01(其实是Linus基础) 1.操作系统(Operation System) ##1.1操作系统的作用 1. 直接操作计算机硬件(用来管理硬件设备) 2. 把操作硬件的代码封装成一 ...

  3. Python基础笔记_Day01_计算机基础知识和Python开发环境搭建

    Day01_计算机基础知识和Python开发环境搭建 目录 01.01_计算机基础知识(计算机概述)(了解) 01.02_计算机基础知识(软件开发和计算机语言概述)(了解) 01.03_计算机基础知识 ...

  4. python学习课程 0基础学Python视频教程

    python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...

  5. 大学计算机基础课程报告python-基于Python的“大学计算机基础”课程教学设计.doc...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspPython 基于Python的"大学计算机基础&qu ...

  6. Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)

    Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...

  7. 大学计算机基础python学多久_基于Python 的“大学计算机基础”课程教学设计

    基于Python 的"大学计算机基础"课程教学设计 日期:2018-04-11 04:32 摘要 培养非计算机专业大学生的计算思维能力,在"大学计算机基础"课程 ...

  8. 沐阳Python扫盲01类的概念与实例

    沐阳Python扫盲01类的概念与实例 文章目录 沐阳Python扫盲01类的概念与实例 前言 一.面向过程编程的实现 二.面向对象编程的实现 总结 前言 让我们从一个实际的游戏人物例子出发,学习理解 ...

  9. Python笔记002-Python编程基础概念

    第二章(1):Python编程基础概念 1. Python 程序的构成 Python 程序有模块组成.一个模块对应 Python 源文件,一般后缀名是:.py. 模块有语句组成.运行 Python程序 ...

最新文章

  1. CentOS6.5下做DNS服务器
  2. Tomcat的配置文件server.xml叙述
  3. 2017.11.23知识点整理
  4. windows下面的txt在linux下面显示为乱码
  5. sql相同顺序法和一次封锁法_数学专题 | Ep01 隔板法的妙用
  6. 块格式化上下文(Block Formatting Context,BFC)
  7. bzoj 2194 快速傅立叶之二
  8. Windows与Linux比较:相似与不同
  9. 公钥加密_河海大学陆阳、李继国:不依赖双线性对的带关键字搜索的无证书公钥加密方案构造...
  10. hping 详解_hping3 详解
  11. matplotlib 设置中文字体
  12. C#添加 / 创建本地数据库连接
  13. 如何将网页保存保存为PDF格式?或者打印网页
  14. Zuul 关网配置服务限流路由访问请求过滤详解
  15. mongodb 配置文件
  16. WordPress丸子小程序从零到一搭建小程序[小程序配置]
  17. 重新启动linux系统应使用 命令实现,在重新启动Linux系统的同时把内存中的信息写入硬盘,应使用哪个命令...
  18. maskrcnn-benchmark win10安装报错及解决方案
  19. 通达信 红线精准主升浪波段买卖选股指标 蝶形飞扬副图公式源码
  20. 什么是物联网?物联网面临哪些挑战?

热门文章

  1. 哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级) 小乐乐的组合数+
  2. Wiring in Spring: @Autowired, @Resource and @Inject
  3. 火狐怎么导入收藏夹_火狐浏览器怎么把网页添加到收藏夹
  4. 二流学校的计算机博士,交大博士,有机会去二流985当老师吗?
  5. [附源码]计算机毕业设计大学生心理测评系统
  6. 别怕,遇到Map源码面试题这样答就对了
  7. ubuntu下实现和windows共享文档
  8. Wampserver整个下载安装教程
  9. EasyWeChat微信开发平台第三方接入(Laravel5+,EasyWeChat3.0/EasyWeChat4.0)
  10. 【Vue】快乐学习第二篇