Day02.计算机基础&Python概述&第一个Python程序

Day02.计算机基础&Python概述&第一个Python程序

一、软件开发的常识

1.什么是软件

一系列由特定顺序组织起来的计算机数据或者指令

常见的软件:

​ 系统软件:windows,Linux,mac os

​ 应用软件:QQ,一系列的播放器,一系列的浏览器等 app

2.什么是开发

就是制作软件的过程

软件的出现实现了人与计算机之间的交互

交互方式:

​ 图形化界面:通过一些现成的界面完成一些任务

​ 命令行方式:在控制台输入一些指令,计算机帮忙完成某件事情

3.DOS命令行

【掌握】
cd  进入指定目录【文件夹】   
cd ..  退回到上一级目录
cd /   退回到根目录
dir	  列出当前目录下所有的文件夹以及文件

4.计算机编程语言介绍

人类语言: 人与人沟通的语言
计算机语言: 人与计算机沟通的语言
计算机的组成: 
	1, 硬件: 如鼠标,键盘,显示器,显卡,内存条, 硬盘,主板等计算机设备或部件
	2, 操作系统: 基于硬件,用于管理和运行应用程序,是硬件和软件的桥梁
	3, 软件: 应用程序, 依赖于运行的操作系统
常见编程语言: 
	C, C++, JAVA, PHP, PYTHON, JS,html,css, Go, Object-C, Swift, 易语言。 

C: 底层开发, 面向过程,速度快 
C++: 面向对象,嵌入式,Android底层,做游戏, 跨平台 
Java: 后端语言, 开发企业级系统,开发Android 
C#: 后端语言, 用于Unity3D游戏,如:王者荣耀 
php: 后端语言,号称世界上最好的语言。
Python: 高层语言,简单易学。
OC: 号称世界上最优雅的语言,开发iOS
Swift: 开发iOS, 开源(开放源代码)
JS: javascript, 前端必备语言
html + css: html:前端的标签, css:样式

二、Python的概述

1.Python语言

Python是一种解释型, 面向对象, 动态数据类型的高级程序设计语言.

脚本语言: js, php, python, jsp, asp

弱类型/强类型 弱类型: a = 10 强类型: int a = 10

python由Guido van Rossum(荷兰) 于1989年底发明,第一个公开发行版发行于1991年

2.Python的简介

Python是一种解释性语言: 开发过程中没有编译这个环节,类似于PHP和JS语言,是脚本语言

是一个交互式语言: 可以在一个python提示符,直接互动执行程序

是面向对象语言: python支持面向对象的风格或代码封装在对象的编程技术

python是初学者的语言: python对初级程序员而言, 是一种伟大的语言, 他支持广泛的应用程序开发,从简单的文字处理到www浏览器再到游戏都可以使用python

3.为什么学习Python

python语言排行榜, python的薪资, python的就业岗位数量, python发展前景

python应用广泛

Python 是最接近AI(人工智能)的语言

Python 是跨平台的【Python程序可以运行在windows、linux,Macos上,例如:在windows上书写的Python程序,可以在linux或者macos上运行】

4.Python发展史

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0IZ8KAgp-1594458016951)(author.png)]

Python的作者,Guido von Rossum,是荷兰人。1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕士学位。

1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器, Python来自Guido所挚爱的电视剧Monty Python’s Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的语言叫做Python的语言 (python翻译:蟒蛇)

1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括列表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。

5.Python的优缺点【了解】

5.1优点

简单:Python是一种代表简单主义思想的语言

易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法

高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

可移植性:由于它的开源本质,Python已经被移植在许多平台上

解释性语言: 类似PHP和JS语言,Python语言写的程序不需要编译成二进制代码而是直接从源代码运行程序。 而 编译性语言比如C或C++写的程序一般是先从源文件编译成二进制代码,再编译二进制代码来运行程序。

面向对象:Python既支持面向过程的编程也支持面向对象的编程

可嵌入性:你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能

丰富的库:Python标准库确实很庞大。

GUI图形界面

5.2缺点

强制缩进

运行速度相对较慢, 因为是高层语言, 打个比方:C语言1s, Java10s, python100s, 但是运行时间都会非常快, 比如c语言0.01ms, python1ms, 网络消耗1s, 那么c语言1.00001秒, python1.001秒, 所以真正运行程序时相差不大

代码不能进行加密【源代码】

6.Python的应用

YouTube:视频网站

Facebook:社交

知乎

Python擅长的区域:

​ web开发

​ 爬虫开发

​ 数据分析

​ 机器学习

​ 人工智能

后端开发,网站,电子商城,OA系统

三、数据的存储

1.思考问题

1.为什么使用计算机

​ 为了存储数据,快速处理数据

2.数据存储在计算机的什么位置

​ 数据存储在内存(缓存/临时存储)中, 存在硬盘(持久化/永久存储)

3.计算机如何存储数据的

​ 计算机存储数据【数据包括数字,英文,中文,文件等】, 最终是以二进制存储在硬盘或内存中

​ 计算机是如何存储数字的

2.内存

2.1概述

内存是计算机的组成部分,作用是与cpu沟通的桥梁,计算机中所有的程序都是在内存中运行

内存【Memory】,内存储器,作用暂时存放cpu中的运算数据

2.2抽象理解

一个开关,有两种状态,打开或者关闭,在计算机中使用0和1表示

2.3单位

硬盘:1T

计算机中表示数据的最小单位:比特 【bit ----b】,又被称为位, 0/1

计算机中处理数据的最小单位:字节【Byte----B】

单位换算:1B = 8b【掌握】

KB MB GB TB PB EB…DB

存储单位 :

​ 1byte = 8bit 0000 0000

​ 1KB = 1024 byte

​ 1MB = 1024KB

​ 1GB = 1024MB

计算机在内存中以二进制的形式存储数据【主要使用0和1进行表示】【十进制】

3.进制

3.1 什么是进制

a.进制就是进位的制度,一种进位的方式

​ 例如:十进制:逢十进一

​ 二进制:逢二进一

​ 八进制,十六进制【是由二进制演变来的】

b. 常见的进制:

​ 二进制(0和1): 0, 1

​ 十进制(0~9的整数): 0,1,2,3,4,5,6,7,8,9

​ 八进制(0~7的整数,用数字0开头), 0,1,2,3,4,5,6,7

​ 十六进制(09和af【不区分大小写】,用0x或者0X开头)

​ 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

3.2 进制的特点

a.每种进制都有确定的符号集

b.每种进制采用的是位置表示法,位置不同,表示的意义不同,值的不同取决于它所在位的权值有关

​ 举例:

​ 注意:下面的^表示的是次方

​ 145:100 = 10^2

​ 761:1 = 10^0

​ 817:10 = 10^1

​ 145 = 1x10^2 + 4x10^1 + 5x10^0

c.二进制的计算

​ 0+0=0

​ 1+0=1

​ 0+1=1

​ 1+1= 10 【逢二进一】

3.3 进制之间的转换

a.十进制 -> 二进制

​ 转换原理:对十进制进行除2的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来.

十进制转换成二进制:
10 = 8 + 2 = 1010
134 = 128 + 4 + 2 = 1000 0110
556 = 512 + 32 + 8 + 4 = 100010 1100

b.二进制 -> 十进制

​ 转换原理:将二进制按照权展开,相加即可得到十进制

举例:

​ 110 = 1x2^2 + 1x2^1 + 0x2^0 = 4 + 2 = 6
​ 10010110 = 1x2^7 + 1x2^4 + 1x2^2 + 1x2^1 = 128 + 16 + 4 + 2 = 150
​ 1101010 = 2^6 + 2^5 + 2^3 + 2^1 = 64 + 32 + 8 + 2 = 106
​ 000 = 0
​ 001 = 1
​ 010 = 2
​ 011 = 3
​ 100 = 4
​ 101 = 5
​ 110 = 6
​ 111 = 7
​ 1000 = 8
​ 111111 = 32 + 16 + 8 + 4 + 2 + 1

2的0次方: 1
2的1次方: 2
2的2次方: 4
2的3次方: 8
2的4次方: 16
2的5次方: 32
2的6次方: 64
2的7次方: 128
2的8次方: 256
2的9次方: 512
2的10次方: 1024

2的11次方: 2048
2的12次方: 4096
2的13次方: 8192

c.二进制 -> 八进制

转换原理:每三位二进制按权展开,相加得到1位八进制,实现思路:从右向左进行分组,每3位为一组,不足是补0,将每一组进行二进制转换八进制的操作,最后将每一组得到的结果连起来

举例:

​ 10010110 -> 010 010 110 -> 2 2 6 -> 226 -> 0226

​ 1 010 001 -> 001 010 001 -> 1 2 1 -> 121 -> 0121

八进制转二进制:

520 => 101 010 000
777 => 111 111 111

d.二进制 -> 十六进制

转换原理:每四位二进制按权展开,相加得到1位十六进制,实现思路:从右向左进行分组,每4位为一组,不足是补0,将每一组进行二进制转换十六进制的操作,最后将每一组得到的结果连起来

0000: 0
1111: 15(F)
十六进制: 0 1 2 3 4 5 6 7 8 9 A B C D E F

举例:

​ 10010110 -> 1001 0110 -> 9 6 -> 96 -> 0x96

​ 1010001 -> 0101 0001 -> 5 1 -> 0x51

​ 10111110 -> 1011 1110 -> 11 14 -> b e -> 0xbe

​ 111011 -> 0011 1011 -> 3 11 -> 3 b -> 0x3b

​ 11 0001 1011 => 0x31b

十六进制转二进制:

0x5b2 => 0101 1011 0010

e.十进制 -> 八进制或者十六进制

转换原理:

​ 先将十进制转换为二进制,然后再将二进制转换为八进制或者十六进制

520 (十进制) => (512+8)=10 0000 1000(二进制) =>1010(八进制) => 208(十六进制)
1010(八进制) => 1*8^3 + 1*8 = 512+8 = 520(十进制)
208(十六进制) => 2*16^2 + 8 = 512+8 = 520(十进制)

1010(八进制) => 0010 0000 1000(二进制) => 208(十六进制)
2b8(十六进制) => 001 010 111 000(二进制) => 1270(八进制)

f.八进制或者十六进制 -> 十进制

转换原理:

​ 将八进制或者十六进制按照权展开,相加,类似于二进制转换为十进制

5.存储数据

计算机存储数据的过程:

​ 需要先在内存中开辟空间,然后将数据转化成二进制存入内存. 计算机开辟内存空间的最小单位为字节

比如存储数字1, 占4个字节: 0000 0000 0000 0000 0000 0000 0000 0001

四、第一个Python程序

1, 打开Pycharm, 新建项目

2, 创建名为hello.py文件 (python文件以.py后缀结尾)

b, 在hello.py中输入以下内容

print("hello world")

c, 在代码区域右键, 选择’运行’文件

五、Python的编码规范

a.在每个语句的后面不要添加分号,每行最好只书写一条语句

b.括号的使用:运算符中

c.Python中是通过缩进【4个空格】来区分代码块的

d.尽量避免在文件名中出现中文和空格

六、注释

注释在编写程序的时候,给代码添加的一些解释性的文字

作用:可以提高代码的可读性,以便于以后的参考或者修改

注释是解释性文本,在运行程序的时候,会被自动的跳过,不做处理

分类
​ 单行注释:只能注释掉单行的文字 # xxxxxxx

​ 多行注释【块注释】:三个单引号或者三个双引号

注意:对于多行注释,选用单引号或者双引号都可以

​ 如果单纯使用双引号,双引号的注释不能嵌套

七、常量和变量

1.常量

定义:在程序运行的过程中,值永远不会发生改变

print(2)
print(2.3)
print(3+5)

print("hello")
print(True)

2.变量

2.1. 概念

定义: 程序在运行的过程中,值可以随时发生改变

作用:存储数据,参与运算

2.2. 定义

定义格式:变量名 = 初始值

说明:

​ 变量名: 对于每一个变量,需要给他定义一个名称,定义的规则就是标识符的规则

​ =: 赋值运算符【主要是为了给变量进行赋值】, 不是数学中的等于,

​ 初始值:第一次给变量赋予的值,在程序运行的过程中,这个值可以随时发生改变

举例:age = 10

​ age是变量名,10是初始值

#Python中的变量的定义和数学中变量的定义完全一致
x = 3
y = 4
print(x * y)

x = "abc"
#print(x * y)

#【扩展】
#Python被称为弱类型语言,动态改变变量的数据类型,容错性比较高
#Java被称为强类型语言,只要变量被定义,它的数据类型将不能发生任何的改变
2.3. 作用以及在内存中的存储

作用:需要在内存中开辟一块空间,将指定类型的值存储在这块空间中 age =18

思考问题:变量在内存中开辟了空间,那内存如何释放?

手动管理内存和自动管理内存

内存中的数据在不使用的情况会自动进行释放,当没有变量名【引用】指向某个实体的时候,则这个实体会被当做垃圾,只能等待系统的垃圾回收机制回收 GC

代码演示:

#给变量重新赋值
name1 = "叶良辰"
name2 = name1
print(name1)
print(name2)

name1 = "Jack"
print(name1)
print(name2)
2.4.删除变量

注意:当定义一个变量,然后删除,相当于这个变量未被定义

代码演示:

#定义变量
num = 66
print(num)

#删除变量
#del
#变量被删除之后则相当于这个变量未被定义
del num
print(num)
2.5.关键字

关键字: 在Python中,已经被赋予了特殊含义的英文单词

import keyword
print(keyword.kwlist)
2.6.标识符

在Python程序中自定义的一些英文单词

定义合法标识符的规则:

​ a.只能由数字,字母,下划线组成,不可以是其他的特殊字符【%,&,*,空格等】

​ b.开头不能是数字

​ c.不能是关键字

​ d. 严格区分大小写 例如: age和Age是两个不同的标识符

定义标识符的规范:

​ a. Python官方要求: 全部用小写字母,不同单词之间使用下划线分隔 stu_score

​ 遵循驼峰命名法【不同的单词之间使用首字母大写的方式进行分隔】

​ 例如:stuScore StuScore

​ b. 尽量做到见名知意

【注意:规则和规范的区别】

练习:判断下面标识符合法是否

​ xiaoming 合法

​ $abc 不合法 ,有特殊字符

​ abc_hello 合法

​ 1score 不合法,数字不能开头

​ score123 合法

扩展:

​ 其他标识符的命名规则:

​ 常量: 常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL

​ 函数&方法: 函数名应该为小写,可以用下划线风格单词以增加可读性。如:my_function,my_example_function。

​ 文件名: 全小写,可使用下划线

​ 包: 应该是简短的、小写的名字。如果下划线可以改善可读性可以加入

​ 模块: 与包相同

​ 类: 总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线

八、输入输出【掌握】

1.print输出

作用:将一些特定的数据输出到屏幕上【调试工具】

代码演示:

#简单用法:每次只输出一个数据,任何类型都可以
print(10)
print("hello")

#可以通过一条print输出多个数据,使用逗号隔开,最终得到的结果将逗号识别成了空格
print(10,"hello")

x = 3
y = 4
print("x + y = ",x + y)

2.input输入

作用:可以将外部的值作为程序中变量的值使用【从控制台获取值】

代码演示:

#注意:当程序执行到input的时候,程序会停止在这个地方,等待用户的输入,
# 当内容输入结束之后,按下enter,此时输入结束
#用户输入的值可以通过变量的形式保存起来
str = input("请输入内容:")
print(str)

name = input("请输入姓名:")
age  = input("请输入年龄:")
print(name,age)


#需求:根据控制台输入的年龄计算还能活多少年, 假设可以活到100岁
death_age = 100

#注意:通过input获取的数据全部都是字符串
age1 = input("请输入现在的年龄:")
print(death_age - age1)


#字符串和整型之间的转换
"""
int:integer,整型,
str:string,字符串

转换
int()  将字符串转换为整型
str()   将整型转换为字符串
float() 将整型或者字符串转换为浮点型【小数】
"""

#修改上面的获取结果的语句
print("还可以活",death_age - int(age1),"年")
print("还可以活",str(death_age - int(age1)),"年")


#练习:从控制台输入两个数,计算两个数的和,并将结果输出
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
print(num1 + num2)
result = num1 + num2
print(result)

你可能感兴趣的:(python基础,python)