本周课程安排

  • python基础(五天)

下周课程安排

  • tableau图形化表制作

下下周课程安排

  • spss

今日内容概要

  • 计算机发展史
  • 计算机主要硬件
  • 编程与编程语言
  • python解释器及IDE编辑器的下载及安装
  • python基本语法
  • 变量
  • 常量
  • 基本数据类型

今日内容详细

计算机

代替人力做事情

任何先进的技术基本都是来源于战争(军事)

现代计算机最先是由美国人发明

现代计算机从19060年代之后才有了真正雏形

计算机硬件

# 人类发明计算机的目的就是为了奴役计算机 代替人去干活
"""
在奴隶主时代
有钱的人为了偷懒不想干活,花钱雇佣奴隶帮他干活
奴隶主时代结束
有钱人不能再奴隶人了所以转向奴役机器
在这个大的背景下计算机应运而生
计算机就是为了解放人力
"""
计算机又叫电脑 计算机虽然叫电脑但是计算机所有的操作都是人告诉它的,它自己不会自动帮你做任何一件事
哪怕是一个显示灯的亮灭 '''五大组成部分'''
1.控制器
类似于人的大脑
用来控制计算机各个硬件的运作
2.运算器
类似于人的大脑
用来做数学运算和逻辑运算
数学运算就是数字的加减乘除等
逻辑运算则是判断事物对错的能力
控制器 + 运算器 = 中央处理器(CPU)
# 即计算机真正帮你干活的其实是计算机里面的CPU(核)
比如手机有八个核,说明同一时刻可以有八个人帮你执行八个任务 3.存储器
内存 类似于人的短期记忆
容量有限(4G、8G、16G、32G...)、但是存储数据的速度非常快
基于电来存储数据的(断电数据立刻丢失)
所以内存绝对不能用来永久保存数据(重要的数据不能指望在内存中永久保存)
eg:
以前的文本编辑器在编辑文档的时候需要你不停的点击保存,因为一旦断电数据立刻丢失
为什么现在的文本编辑器不会出现以前的情况呢?那是因为程序员在文本编辑器的内部帮你加了一个实时自动保存数据的功能 外存 类似于人的长期记忆
都能够永久的保存数据、但是存储速度较于内存要慢很多
u盘、磁盘、硬盘、磁带
容量可以做到非常的大(500G、1T、2T)
(重要的数据只能指望在外存中永久保存) 4.输入设备
类似于人的眼睛、耳朵
向计算机传达信息的工具
鼠标、键盘、触摸屏、麦克风... 5.输出设备
类似于人说的话、写的字
计算机向外界传达信息的工具
显示屏、打印机、音响 """
人做数学试卷
用手拿卷子(控制器)
用眼睛看试卷内容(输入设备、内存)
用脑袋思考解题(运算器)
用笔将答案写到纸上(输出设备、外存)
"""

计算机三大核心硬件

1.CPU

2.内存

3.硬盘
"""
任何一款软件的运行都必须经历上述三个硬件 你在你的计算机上面下载的软件其实都是下载到了你计算机里面的硬盘中
下载完毕之后要想让该软件运行起来 需要双击 双击其实就是将硬盘里面的软件代码由硬盘读取到内存中(任何软件的运行代码必须在内存) CPU就会去内存中读取软件代码(取指)执行,然后软件就运行起来了
"""
为什么CPU需要跟内存打交道而不是直接去硬盘中读取指令?
CPU的执行速度非常快、而硬盘的存储速度较慢
所以如果让CPU直接跟硬盘打交道那么会极大地降低CPU的执行效率(利用率)
而内存的存储数据的速度非常快几乎跟CPU运行速度差不多
将一辆兰博基尼和一辆奇瑞qq同时放在北京内环道路上
兰博基尼马力再大也得跟我奇瑞qq一起堵着
如果将兰博基尼和qq放到赛道上
两者速度立马出现差异

操作系统

windows系统、mac系统、linux系统、ubuntu系统...

这三个都想让计算机帮他们在显示屏上面显示一行话
在没有操作系统的情况下你需要编写控制计算机所有微小硬件的代码
用户1
1.需要编写一套控制计算机能够正常启动的程序(显示灯、二极管、风扇、磁盘...)
2.基于上面的成果让计算机显示一句话
用户2
1.需要编写一套控制计算机能够正常启动的程序(显示灯、二极管、风扇、磁盘...)
2.基于上面的成果让计算机显示一句话
用户3
1.需要编写一套控制计算机能够正常启动的程序(显示灯、二极管、风扇、磁盘...)
2.基于上面的成果让计算机显示一句话
# 编写控制计算机硬件运作的程序需要消耗非常多的时间(几年甚至几十年) 计算机硬件大致都是相同的,也就意味着不需要重复的书写控制计算机硬件运作的程序只需要有一套完善的控制系统即可
微软公司的windows操作系统 操作系统其实就是用来帮助我们控制计算机硬件的,用户不需要自己直接控制了,只需要告诉操作系统即可,操作系统类似于中介 # 现在我们所使用的软件都必须跑在操作系统之上,没有操作系统的话所有的软件都跑不起来。这也是为什么你买了一台计算机之后首先需要做的事情就是安装一个操作系统

计算机三层架构

1.应用程序(日常使用的软件qq、微信、王者、吃鸡...)

2.操作系统

3.计算机硬件
"""
应用程序必须跑在操作系统之上
由操作系统跟计算机硬件交互
计算机硬件处理后的数据也是交给操作系统由操作系统再交给应用程序 1 <==> 2 <==> 3
"""

编程及编程语言的概念

python、java、php、c++、c#、golang都叫编程语言
语言
汉语、英语、西班牙语、俄语
语言是人与人之间沟通交流的媒介
编程语言
编程语言其实就是人与计算机之间沟通交流的媒介 即学习编程语言跟我们学习一门外语是一模一样的
把英语学会了就可以跟外国人交流
把编程语言学会了就可以跟计算机交流
即学习编程语言没有你想象的那么难!!! 编程
大白话就是学代码
其实就是人将自己的思维逻辑和想法用编程语言的形式写下来的过程
(其实跟你用英文写作文差不多) 其实说英语和写编程语言本质都是一样的,只要你足够的熟练那么就可以做到脱口而出

编程语言的分类

补充知识点

"""
计算机是基于电工作的,而电信号只有高低电平两种状态
我们人为的将高电平记为1
低电平记为0
也就意味着计算机只认识0和1(二进制)
为了能够记录世间万物、我们用很多位组成在一起
2的8次方 256
2的16次方 65535
2的24次方
....
"""
1.机器语言
计算机能够直接读懂的语言(就是二进制)
0101010101010101010101010101010101010101010101010101010101010101010101011010101
好处:计算机能够立刻明白你的意思、执行速度非常快
坏处:学习难度太大、编程难度和时间太长 2.汇编语言
用简单的英文单词abc代替一串二进制数据
a 010101010
b 010101011
好处:记忆的难度有所降低、执行速度也非常快
坏处:编写和学习的难度还是偏大 3.高级语言
用人类能够读懂的语言来编写程序
print 打印
input 输入
好处:学习难度大大降低、编程效率大大提高
坏处:计算机看不懂,需要做一次翻译(将人类看得懂的翻译成计算机看得懂)
"""
我们现在所学习的编程语言都是高级语言
"""

翻译

1.编译型		C++
类似于谷歌翻译(将需要翻译的东西一次性翻译完毕)
一次性翻译之后就可以拿着翻译之后的结果多次使用
好处:执行速度较于解释型更快
坏处:
1.不同的平台编译之后的结果不能混用(跨平台性较差)
2.出现bug之后修改bug又得从头到尾重新翻译一遍(修改bug效率低) 2.解释型 python、php(昙花一现)
类似于同声传译(说一句我翻译一句)
好处:
1、只要有解释器那么不需要考虑跨平台的问题
2、修改bug方便
好处:
执行速度比不上编译型但是开发效率较快

为何选择python

1.为什么不学java
java在中国已经存在了十几年了,市面上会java的人非常非常非常的多
并且java的难度对于小白来说基本可以不考虑
市场对于java需求基本已经饱和,java的起步薪资也很低 2.为什么不学c和c++
c和c++比java还难,并且需要几年的沉淀期 3.为什么学python
应用领域是目前所有其他编程语言望尘莫及的
#1. WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)
#2. 网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单
#3. 爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥
#4. 云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算
#5. 人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。
#6. 自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python
#7. 金融分析——我个人之前在金融行业,10年的时候,我们公司写的好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言
#8. 科学运算—— 你知道么,97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛
#9. 游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明> 就是用Python写的
中国的浙江和山东已经将python作为计算机考试科目

python解释器

'''
在IT行业,不会轻易的尝试最新版本的软件
'''
python2.X
最高版本只到python2.7并且该版本在2020年之后就已经不再维护更新了
推荐你使用python3.X版本 python3.X
最高版本python3.8
但是我们不使用最新版,一般推荐使用3.6版本 去官网下载一步步点击next安装即可(你只需要记住你将解释器下载到哪个位置即可)

IDE编辑器下载

pycharm下载需要注意
下载professional不要下载communitity 需要破解
1.用我给你的连接下载激活码破解
2.用我给你的压缩文件解压拖拽破解 安装直接点击next即可

文件后缀名

"""
.txt
.pdf
.ini
.word
.xslx
.mp4
"""
文件的后缀名是干嘛使得?
仅仅是给人看的,对于计算机来说都是二进制没有区别
不同的后缀名文件有不同的功能
程序员针对不同的后缀名自己写的对应的功能 针对python代码存储的文件
我们的后缀名叫.py

变量

变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化 姓名 = 'jason'
年龄 = 18
身高 = 1.83 '''
定义变量的固定规律
变量名 = 变量值 1.变量名就是状态描述
2.=赋值符号
3.变量的值
'''
username = 'jason'
'''
1.先在内存空间中申请一块内存空间存放jason
2.然后将username指向jason所在的内存地址
之后如果你想要访问jason就需要通过变量名username访问即可
''' # 变量名的命名规范
1.变量名只能是数字、字母、下划线组合
2.数字不能开头
3.变量名一定要起的见名知意
4.不要用关键字作为变量名 # 变量的命名风格
1.大驼峰
UserName = 'jason'
2.小驼峰
userName = 'jason'
3.下划线 python推荐使用下划线
user_name = 'jason' # 变量三要素
id 类似于变量名指向的变量值的内存地址
type 变量名指向的变量值的数据类型
value 变量名指向的变量名 username = 'jason'
print(id(username),type(username),username)
2192720183456 <class 'str'> jason

常量

常量即指不变的量,如pai 3.141592653..., 或在程序运行过程中不会改变的量
举例,假如老男孩老师的年龄会变,那这就是个变量,但在一些情况下,他的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56
#ps:在c语言中有专门的常量定义语法,const int count = 60;一旦定义为常量,更改即会报错 在python中没有真正意义上的常量,默认是将全大写的变量看成是常量
HOST = '127.0.0.1' HOST = '127.0.0.1'
print(HOST)
HOST = 666
print(HOST)

输入与输出

# 输入
input()
# 输出
print() username = input('请输入一些内容>>>:') # 获取用户输入并赋值给username
print(username) # jason
print(username) # jason

注释

"""对代码的解释型描述"""
1.单行注释
# 单行
2.多行注释
'''我是多行注释'''
"""我也是""" 在pycharm中如何快速的完成注释
ctrl+?键

数据类型

# 数据即变量的值,如age=18,18则是我们保存的数据。
# 变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识
  • 整型
  • 浮点型
  • 字符串
  • 列表
  • 字典
  • 布尔值
  • 元组
  • 集合
# 整型	int
定义:age=10
用于标识:年龄,等级,qq号 # 浮点型 float
定义:salary=3.1
用于标识:工资,身高,体重 # 字符串 str
# 在python中,加了引号的字符就是字符串类型
定义:name='jason'
用于标识:描述性的内容,如姓名,性别,国籍,种族
username = 'jason'
username1 = "jason"
username2 = '''jason'''
username3 = """jason"""
当三引号左边没有赋值符号的时候它们就是注释有赋值符号就是字符串了 定义字符串之所有有这么多种定义的方式是因为字符串内部可能也需要使用到引号
info = '他说:"她是个好菇凉"' # 列表 list
在[]内元素与元素之间用逗号分隔,可以存放n个任意类型的值
name_list = ['jason','tank',11,22.22]
print(type(name_list))
# 列表能够存多个元素 并且还可以方便的取任意单个或者多个元素
print(name_list[1]) # 索引取值(索引是从0开始) # 字典 dict
能够精确的存储数据、并且是我们后面使用最频繁的一个数据类型
即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,比如key=value,这就用到了字典
在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型
user_info = {
'username': 'jason',
'age': 18,
'hobby': ['read', 'study', 'music', 'running']
}
username、age、hobby都是字典的key
jason、18、[...]都是字典的value
key是都value的描述性的信息 一般情况下都是字符串
value是任何数据类型,你要想访问到value必须通过key
print(user_info['hobby']) # 布尔值 bool
用来判断对错的,只有两种状态 对/错
此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识
True
False
# is_right = True
# is_error = False
# print(type(is_right),type(is_error))
a = 3
b = 5
print(a > b)
print(a < b) # 所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真 # 元组 tuple
你可以把元组看成是不变的列表 小括号内可以有多个元素 逗号隔开
user_tuple = ('jason','tank',1,2,3,4)
元组内的元素不能被修改
user_list = ['jason','tank',1,2,3,4]
user_tuple = ('jason','tank',1,2,3,4)
user_list[0] = 'jason666'
print(user_list)
print(user_tuple[0])
user_tuple[0] = 'jasonNB' # 无法修改
print(user_tuple) # 集合 set
也是用的{},跟字典不一样的地方在于集合{}内元素元素之间直接用逗号隔开没有key:value键值的概念
1.去重
2.关系运算
s = {1,2,3,4,5,6,7,8,9,0}
print(type(s))

Python第一讲以及计算机基础的更多相关文章

  1. python第一天 :计算机基础(一)

    1.什么是编程语言 答:人类与计算机交流的介质 2.什么是编程 答:利用编程语言控制计算机解决问题 3.为什么要编程 答:可以控制计算机做事,提高生产生活效率 4.计算机的五大组成部分分别有什么作用? ...

  2. 【Python 开发】第一篇:计算机基础

    一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言? 语言就是一种事物与另一种事物沟通的介质.所以说编程语言是程序员跟计算机沟通的介质. 什么是编程: 准确来说就是程序员用计算机所能 ...

  3. Python之旅_计算机基础入门

    一.计算机基础 1.Python是编程语言 语言:一种事物与另一种事物沟通的介质. 编程语言:程序员与计算机沟通的介质. 什么是编程:程序员用编程语言把自己的逻辑思想下来,编程的结果就是一堆文件. 为 ...

  4. 《Java从入门到失业》第一章:计算机基础知识(一):二进制和十六进制

    0 前言 最近7年来的高强度工作和不规律的饮食作息,压得我有些喘不过气,身体也陆续报警.2018年下半年的一场病,让我意识到了这个问题的严重性,于是开始强制自己有规律饮食和作息,并辅以健身锻炼,不到2 ...

  5. python之浅谈计算机基础

    目录 一.计算机基础之编程 什么是编程语言 什么是编程 为什么要编程 二.计算机组成原理 1. 计算机五大组成 CPU 存储器 输入设备 输出设备 2.计算机五大部分补充 CPU相关 应用程序启动流程 ...

  6. 《Java从入门到失业》第一章:计算机基础知识(三):程序语言简介

    1.3程序语言简介 我们经常会听到一些名词:低级语言.高级语言.编译型.解释型.面向过程.面向对象等.这些到底是啥意思呢?在正式进入Java世界前,笔者也尝试简单的聊一聊这块东西. 1.3.1低级语言 ...

  7. 《Java从入门到失业》第一章:计算机基础知识(二):计算机组成及基本原理

    1.2计算机组成及基本原理 1.2.1硬件组成 这里说的计算机主要指微型计算机,俗称电脑.一般我们见到的有台式机.笔记本等,另外智能手机.平板也算.有了一台计算机,我们就能做很多事情了,比如我在写这篇 ...

  8. 【Java】第一讲:Java基础

    // 功能:在控制台显示“Hello”// 日期:2017-04-11 // public:表示这个类是公共类,一个java文件中只能有一个public类// class:表示这是一个类// hell ...

  9. Python自学笔记之计算机基础

    osi七层协议应用层-表示层-会话层-传输层-网络层-数据链路层-物理层 无线网协议 ethernet 物理层:网线,光纤 数据链路层:arp协议 mac地址,广播 在广播域内传播 网络层:ip地址标 ...

随机推荐

  1. kubernetes之手动部署k8s 1.14.1高可用集群

    1. 架构信息 系统版本:CentOS 7.6 内核:3.10.0-957.el7.x86_64 Kubernetes: v1.14.1 Docker-ce: 18.09.5 推荐硬件配置:4核8G ...

  2. HTML 基础1

    HTML 超文本标记语言 文件后缀html,htm 标签成对出现:开始标签--结束标签 元素内容位于开始标签--结束标签之间(可以有空内容) 空元素<a/> 大小写不敏感 元素,属性 &l ...

  3. web.xml 配置文件?

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  4. Java高并发下多线程编程

    1.创建线程 Java中创建线程主要有三种方式: 继承Thread类创建线程类: 定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此也把run方法称为 ...

  5. ApacheCN Java 译文集 20211012 更新

    Effective Java 中文第三版 1. 考虑使用静态工厂方法替代构造方法 2. 当构造方法参数过多时使用 builder 模式 3. 使用私有构造方法或枚类实现 Singleton 属性 4. ...

  6. 在Rainbond中实现数据库结构自动化升级

    Rainbond 这款产品一直致力于打通企业应用交付的全流程,这个流程中不可或缺的一环是企业应用的不断升级.迭代.Rainbond 特有的能力,是可以将囊括多个服务组件的企业应用系统进行打包,并执行一 ...

  7. 关于diffing算法中key的使用

    在vue和react中(只学了这两个),经常需要渲染元素到DOM上,而且如果不写key,有的浏览器会进行报错或者进行提示. 在我的理解里:key其实就是一个身份的标识,证明这个位置坐的就是这个人.后期 ...

  8. spring学习四:Spring中的后置处理器BeanPostProcessor

    BeanPostProcessor接口作用: 如果我们想在Spring容器中完成bean实例化.配置以及其他初始化方法前后要添加一些自己逻辑处理.我们需要定义一个或多个BeanPostProcesso ...

  9. 基于redis实现tomcat的session会话保持 (转)

    出处:https://cloud.tencent.com/developer/article/1402997 基于redis实现tomcat的session会话保持 在实际生产中,我们经常部署应用服务 ...

  10. WordPress子模板继承

    很多时候我们不想重写模板,而是想在某个模板的基础上进行修改,那么这个时候我们就需要用到模板继承技巧. 子主题开发 style.css 是必须的文件,只需要新增 Template: 父模板的文件夹名