python基础
一、软件开发的常识
1.什么是软件
一系列由特定顺序组织起来的计算机数据或者指令
常见的软件:
系统软件:windows,Linux,mac os, Android, iOS, 华为鸿蒙
应用软件:QQ,一系列的播放器,一系列的浏览器等 app
软件: QQ,微信
操作系统: win10, Mac, Andriod, iOS 等
硬件: 鼠标,键盘,主板,显示器,CPU,内存条
2.什么是开发
开发: 就是制作软件的过程, 软件的出现实现了人与计算机之间的交互
和软件的交互方式:
图形化界面:通过一些现成的界面完成一些任务
命令行方式:在控制台输入一些指令,计算机帮忙完成某件事情
3.DOS命令行
【掌握】
cd 进入指定目录【文件夹】 change directory
cd .. 退回到上一级目录
cd / 退回到根目录
dir 列出当前目录下所有的文件夹以及文件
- 1
- 2
- 3
- 4
- 5
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是一种解释型, 面向对象, 动态数据类型的高级程序设计语言.
Python由Guido van Rossum(荷兰) 于1989年底发明,第一个公开发行版发行于1991年
2.Python的简介
Python是一种解释性语言: 开发过程中没有编译这个环节, 类似于PHP和JS语言, 是脚本语言.
Python是初学者的语言: Python对初级程序员而言, 是一种伟大的语言.
3.为什么学习Python
Python语言排行榜, Python的薪资, Python的就业岗位数量, Python发展前景
Python应用广泛
Python 是最接近AI(人工智能)的语言
Python 是跨平台的【Python程序可以运行在windows、linux,Macos上,例如:在windows上书写的Python程序,可以在linux或者macos上运行】
4.Python发展史
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语言实现的cpython。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括列表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。
5.Python的优缺点
5.1优点
简单:Python是一种代表简单主义思想的语言
易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法
高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
面向对象:Python既支持面向过程的编程也支持面向对象的编程
可嵌入性:你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能
丰富的库:Python标准库确实很庞大。
GUI图形界面
5.2缺点
强制缩进
运行速度相对较慢, 因为是高层语言, 打个比方:C语言1s, Java10s, Python100s, 但是运行时间都会非常快, 比如c语言0.01ms, Python1ms, 网络消耗1s, 那么c语言1.00001秒, Python1.001秒, 所以真正运行程序时相差不大
代码不能进行加密【源代码】
6.Python的应用
Python擅长的领域:
web开发
爬虫开发
数据分析
机器学习
人工智能
三、数据的存储
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
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的次方:
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
二进制 => 十进制
001 => 1
010 => 2 (12¹)
100 => 4 (12²)
1000 => 8 (12³)
10000 => 16 (12^4)
…
000 => 0
001 => 1
010 => 2
011 => 3
100 => 4
101 => 5
110 => 6
111 => 7
…
二进制 => 十进制
101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41
10111 => 2^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23
101 => 50
110 => 6
1000 => 8
010 => 2
111 => 7
…
b.十进制 -> 二进制
转换原理:对十进制进行除2的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来.
方式一: 针对比较小的数
十进制 => 二进制
41 => 32 + 8 + 1 = 101001
520 => 512 + 8 = 1000001000
1314 => 1024 + 256 + 32 + 2 = 10100100010
3333 => 2048 + 1024 + 256 + 4 + 1 = 110100000101
66 => 64 + 2 = 1000010
方式二: 倒除法
41 => 101001
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
c.二进制 -> 八进制
转换原理: 每三位二进制按权展开,相加得到1位八进制,实现思路:从右向左进行分组,每3位为一组,不足是补0,将每一组进行二进制转换八进制的操作,最后将每一组得到的结果连起来
000 => 0
001 => 1
010 => 2
011 => 3
100 => 4
101 => 5
110 => 6
111 => 7
二进制 => 八进制
10100101 => 010 100 101 => 245(八进制)
10100100010 => 10 100 100 010 => 2442(八进制)
八进制 => 二进制
245 => 010 100 101
520 => 101 010 000
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
d.二进制 -> 十六进制
转换原理: 每四位二进制按权展开,相加得到1位十六进制,实现思路:从右向左进行分组,每4位为一组,不足是补0,将每一组进行二进制转换十六进制的操作,最后将每一组得到的结果连起来
0000 => 0
0001 => 1
0010 => 2
0011 => 3
0100 => 4
0101 => 5
0110 => 6
0111 => 7
1000 => 8
1001 => 9
1010 => 10 (A)
1011 => 11 (B)
1100 => 12 (C)
1101 => 13 (D)
1110 => 14 (E)
1111 => 15 (F)
# 0 1 2 3 4 5 6 7 8 9 A B C D E F
二进制 => 十六进制
10100101 => 1010 0101 => A5(十六进制)
10100100010 => 101 0010 0010 => 522(十六进制)
# 十六进制 => 二进制
A5 => 1010 0101
522 => 0101 0010 0010
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
e.十进制 -> 八进制或者十六进制
转换原理: 先将十进制转换为二进制,然后再将二进制转换为八进制或者十六进制
十进制 => 二进制 => 十六进制
520 => 1000001000 (512+8) => 10 0000 1000 => 208(十六进制)
- 1
- 2
- 3
f.八进制或者十六进制 -> 十进制
转换原理: 将八进制或者十六进制按照权展开,相加,类似于二进制转换为十进制
十六进制 => 二进制 => 十进制
522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314(十进制)
- 1
- 2
5.存储数据
计算机存储数据的过程:
需要先在内存中开辟空间,然后将数据转化成二进制存入内存. 计算机开辟内存空间的最小单位为字节
比如存储数字1, 一般会在内存中占4个字节: 00000000 0000000 00000000 00000001
四、第一个Python程序
1, 打开Pycharm, 新建项目
2, 创建名为hello.py文件 (Python文件以.py后缀结尾)
b, 在hello.py中输入以下内容
print("hello world")
- 1
c, 在代码区域右键, 选择’运行’文件
五、Python的编码规范
a.在每个语句的后面不用添加分号,每行最好只书写一条语句
b.Python中是通过缩进【4个空格】来区分代码块的
c.尽量避免在文件名中出现中文和空格
六、注释
注释在编写程序的时候,给代码添加的一些解释性的文字
作用:可以提高代码的可读性,以便于以后的参考或者修改
注释是解释性文本,在运行程序的时候,会被自动的跳过,不做处理
分类
单行注释:只能注释掉单行的文字 # xxxxxxx 多行注释【块注释】:三个单引号或者三个双引号
注意:对于多行注释,选用单引号或者双引号都可以
如果单纯使用双引号,双引号的注释不能嵌套
七、输入输出【重点】
1.print输出
作用:将一些特定的数据输出到屏幕上【调试工具】
代码演示:
#简单用法:每次只输出一个数据,任何类型都可以 print(10) print("hello") #可以通过一条print输出多个数据,使用逗号隔开,最终得到的结果将逗号识别成了空格 print(10,"hello") x = 3 y = 4 print("x + y = ",x + y)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2.input输入
作用:可以将外部的值作为程序中变量的值使用【从控制台获取值】
代码演示:
#注意:当程序执行到input的时候,程序会停止在这个地方,等待用户的输入, # 当内容输入结束之后,按下enter,此时输入结束 #用户输入的值可以通过变量的形式保存起来 s = input("请输入内容:") print(s) name = input("请输入姓名:") age = input("请输入年龄:") print(name,age) #需求:根据控制台输入的年龄计算还能活多少年, 假设可以活到100岁 death_age = 100 #注意:通过input获取的数据全部都是字符串 age1 = input("请输入现在的年龄:") print(death_age - age1) #字符串和整型之间的转换 """ 转换 int() 将字符串转换为整型 int:integer,整型, str:string,字符串 """ #修改上面的获取结果的语句 print("还可以活",death_age - int(age1),"年") #练习:从控制台输入两个数,计算两个数的和,并将结果输出 num1 = int(input("请输入第一个数:")) num2 = int(input("请输入第二个数:")) print(num1 + num2) result = num1 + num2 print(result)
来自:https://blog.csdn.net/qq_41395729/article/details/110929627?ops_request_misc
=%25257B%252522request%25255Fid%252522%25253A%252522160974065616780277094857%252522%
25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D&request_id=16097
4065616780277094857&biz_id=0&utm_medium=
distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-110929627
.pc_search_result_no_baidu_js&utm_term=python