1.什么是软件
由一系列特定顺序组织起来的计算机数据或者指令 常见的软件: 系统软件:windows系统\linux系统\mac os\Andriod\Ios\华为鸿蒙 应用软件:QQ\音乐播放器\视频播放器 谷歌\火狐\360\欧朋\QQ浏览器
2.什么是开发
开发就是制作软件的过程,软件实现了人与计算机的交互 和软件交互的方式: 图形化界面:通过一些现成的界面完成任务 命令行方式:在控制台中输入一些指令,让计算机帮忙完成一些任务.
3.DOS命令行
cd: 进入指定的目录 change directory cd .. : 表示进入上一级目录 cd / : 表示进入根目录 d: 表示切换到d盘 dir:列出当前目录下面所有的文件和文件夹. ping: 检测网路是否通畅 ipconfig:查看自己电脑的ip地址 cls: 清屏
4.计算机编程语言介绍
人类语言:人与人沟通的语言 计算机语言:人与计算机沟通的语言 C C++ C# java php html css js python R 易语言 Go C:底层开发 面向过程 速度快 C++:面向对象 嵌入式 Andriod底层 做游戏 平台 JAVA:后端语言 开发企业级系统 开发安卓 C#: 后端语言 用于Unity3D 游戏 比如:王者荣耀 php:后端语言 号称世界上最好的语言 javascript: 前端必备的语言(nodejs vue react) html+css: 标签+样式 Go: 后端语言 区块链 比特币
1.Python语言
解释型语言:python javascript php jsp asp 编译型语言: java c c++ c# python是一种脚本语言,解释型 面向对象 弱类型的高级编程语言. python 是荷兰的一个科学家发明的,在1989年底发明的,在1991年第一个公开发行版本 python 2.X 和 3.X (不兼容) 建议使用3.7或者3.8
2.Python的简介
3.为什么学习Python
python语言排行榜 python的薪资 python的岗位需求 python的发展前景 https://tiobe.com/tiobe-index/ 编程语言排行榜 https://pypl.github.io/PYPL.html 编程语言流行指数 python应用广泛: python是最接近人工智能的语言: C++ R python语言支持跨平台的应用 比如[在windows上面写的python程序可以直接在mac 或者 linux上面直接使用]
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程序嵌入到c\c++程序中去 丰富的库: GUI图形化界面
5.2缺点
强制缩进 运行速度相对较慢(可以忽略不计) 代码不能进行解密(源代码)
6.Python的应用
web开发: djago flask 爬虫:python 数据分析:numpy pandas 机器学习:sklearn 人工智能:深度学习 自动化运维: 自动化测试: 少儿编程:Scratch python
1.思考问题
1.为什么要使用计算机? 为了存储数据,为了快速的处理数据 2.数据存储的位置? 硬盘(永久存储) 内存(临时数据) 3.计算机如何存储数据? 计算机将所有的数据以二进制的形式进行存储(文字 图片 视频)
2.内存
内存是计算机的组成部分,作用是与cpu进行沟通的桥梁
2.1概述
2.2抽象理解
二进制: 0 和 1 (逢2进1) 十进制: 0 1 2 3 4 5 6 7 8 9 (逢10进1) 八进制: 0 1 2 3 4 5 6 7 (逢8进1) 十六进制: 0 1 2 3 4 5 6 7 8 9 A B C D E F (逢16进1)
2.3单位
硬盘:1TB 512GB 256GB 128GB 计算机中表示数据的最小单位:[bit ---- b] 比特 也叫做位 值只有:0和1 计算机中处理数据的最小单位:[byte----B] 字节 1个字节等于8比特 单位换算: 1B = 8b 1KB = 1024B 1024=2^10 (程序员节) 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB
3.进制
深入理解计算机系统(2.2)------进制间的转换原理 - YSOcean - 博客园 进制转换原理
3.1 什么是进制
进制就是进位的制度 一种进位的方式 例如: 二进制:逢2进1 八进制:逢8进1 十进制:逢10进1 十六进制:逢16进1
3.2 进制的特点
每种进制都有确定的符号集 每种进制采用的是位置表示法,位置不同表示的意义不同,值的不同取决于它所在位的权值不同 145 = 1 x 10^2 + 4 x 10^1 + 5 x 10^0 二进制的计算: 0+0=0 1+0=1 0+1=1 1+1=10 [逢2进1] = 1 x 2^1
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 二进制: 十进制 101010====> 1*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 32 + 0 + 8 + 0 + 2 + 0 = 42 111010====> 1*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 32 + 0 + 8 + 0 + 2 + 0 = 58 1011011====> 1*2^6 + 0 + 1*2^4 + 1 * 2^3 + 0 + 1*2^1 + 1*2^0 = 64 + 16 + 8 + 2 + 1 = 91b.十进制 -> 二进制
转换原理:对十进制进行除2的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来.
第一种:倒除法: 9====>1001(二进制) 13===>1101(二进制) 21===>10101 第二种: 9===>8 + 1 = 1001 41===>32 + 8 + 1 = 101001c.二进制 -> 八进制
转换原理: 每三位二进制按权展开,相加得到1位八进制,实现思路:从右向左进行分组,每3位为一组,不足是补0,将每一组进行二进制转换八进制的操作,最后将每一组得到的结果连起来
常见的二进制和八进制 000 ==== 0 001 ==== 1 010 ==== 2 011 ==== 3 100 ==== 4 101 ==== 5 110 ==== 6 111 ==== 7 二进制 八进制 101 010 ====> 101 010 ==>52(八进制) 11100101 ====> 011 100 101===>345(八进制) 八进制 二进制 520====>101 010 000 ====>101010000(二进制) 1314 ====>001 011 001 100 ===>1011001100(二进制)d.二进制 -> 十六进制
转换原理: 每四位二进制按权展开,相加得到1位十六进制,实现思路:从右向左进行分组,每4位为一组,不足是补0,将每一组进行二进制转换十六进制的操作,最后将每一组得到的结果连起来
常见的16进制和二进制 二进制 十六进制 0000 ====> 0 0001 ====> 1 0010 ====> 2 0011 ====> 3 0100 ====> 4 0101 ====> 5 0110 ====> 6 0111 ====> 7 1000 ====> 8 1001 ====> 9 1010 ====> A (10) 1011 ====> B (11) 1100 ====> C (12) 1101 ====> D (13) 1110 ====> E (14) 1111 ====> F (15) 二进制 十六进制 10010010===> 1001 0010 ===>92 1010010010===> 0010 1001 0010 ==>292 十六进制 二进制 AF01 ======> 1010 1111 0000 0001 ====>1010111100000001 A6F3 ======> 1010 0110 1111 0011 ====>1010011011110011
5.存储数据
计算机存储数据的过程: 需要先在内存中开辟空间,然后将数据转换为二进制,将二进制数据存储到内存中去.计算机开辟内存空间的最小单位是字节. 比如存储数字1: 一般会占4个字节 0000 0000 0000 0000 0000 0000 0000 0001
1.打开pycharm,新建项目 2.创建名字为1hello.py的文件 (python的文件后缀为 .py) 3.在1hello.py中输入内容为: print(123) 4.在代码区域单击鼠标右键,选择运行文件
1.在每个语句的结束位置不用添加分号,每行最好只写一条语句 2.python中是通过缩进4个空格来区分代码块的 3.尽量避免在文件名中出现中文或者空格
注释就是在编写程序的时候,给代码添加的一些解释性的文字. 作用:提高代码的可读性,方便后续的修改 注释是解释性文本,在程序运行的时候,注释的文字会自动跳过,不做处理. 分类: 单行注释:# 多行注释(块注释): ''' 注释的文本 ''' 或者 """ 注释的文本 """ 注意: 如果单纯使用双引号,双引号的注释不能嵌套.
1.print输出
作用:将特殊的数据输出到屏幕中(调试工具中) print()输出的内容默认是独成一行 print() 默认输出一个换行 print(123) print("hello") 若想一次性输出多个数据,使用逗号隔开,最终得到的结果将逗号识别成了空格 print(333,"welcome to qianfeng",999)
2.input输入
作用:将外部的值作为程序中变量的值使用[从控制台获取值]
代码演示:
注意:在使用input的时候,程序会停止在这个地方,等待用户的输入 当输入的内容结束后,按下enter键,此时输入结束 用户输入的值可以通过变量的形式保存起来. num = input("请输入你的内容:") print(num) name = input("请输入你的姓名:") age = input("请输入你的年龄:") print(name,age) 注意:通过input接收的数据,数据格式为字符串类型. #字符串和整型的转换 int() 将字符串转换为整型 str() 将其他类型的数据转换为字符串类型 num = 100 # 通过int()将输入的内容由字符串转换为整型 num1 = int(input("请输入一个数字:")) print(num - num1) 练习:在控制台输入两个数字,计算两个数字的乘积 a = int(input("输入第一个数字:")) b = int(input("输入第二个数字:")) print(a*b) 常用的快捷键: ctrl + d 快捷键 复制粘贴上一行代码 ctrl + z 快捷键 撤销上次操作
1.变量
1.1. 概念
变量是在程序运行过程中,值可以随时发生改变. 作用:存储数据 参与运算
1.2. 定义
格式: 变量名 = 值 表示把等号右边的值赋给等号左边的变量名 "=" 表示赋值运算符 和数学中的等于不是一回事. age = 10 age = "hello" print(age) 注意:在同一个文件中,出现了相同的变量名,后面的变量的值会把前面的变量的值进行替换. [扩展]:python是弱类型的语言,可以动态改变变量的数据类型.容错性比较高;
1.3.删除变量
通过del 删除变量 sex = "男" del sex print(sex) # NameError: name 'sex' is not defined 表示 sex变量未定义 注意:当通过del删除变量以后,相当于该变量未定义.
1.4.关键字
关键字:在python中被赋予了某些特殊含义的单词. import keyword (import 表示引入某个扩展包) print(keyword.kwlist) kwlist是显示所有的关键字 ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal','not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
1.5.标识符
python中的标识符的作用:主要是作为:变量 函数 类 模块以及其他对象的名称. 定义合法标识符的规则: 1.只能由数字 字母 下划线组成不可以是其他的字符[$ % # *]等. 2.标识符的开头不能是数字 3.标识符不能使关键字 4.严格区分大小写 age 和 Age 是两个不同的标识符 注意: 1.python中的官方要求:不同的单词在拼接的时候使用下划线连接 age_num 单词全部是小写 遵循驼峰命名法 ageNum(小驼峰) AgeNum(大驼峰) 2.标识符的定义要做到见名知意. 练习: xiaoming 合法 12hello 不合法 abc_world 合法 score345 合法 True 不合法
扩展:
常量:常量名所有的字母大写 由下划线连接各个单词 如:TOTAL PI 函数名&方法:函数名应该为小写 可以使用下划线风格增加可读性: my_function my_example_function 文件名:全部小写,可以使用下划线 包:应该是简短的 小写的名字 模块:与包相同 类:通常情况下是首字母大写的单词. 如 MyClass 内部的类可以使用额外的前导下划线
计算机顾明思议就是可以做数学运算的机器,因此计算机理所当然的可以处理各种数据,但是计算机能处理的远远不止数值,还有文本,图形,音频,视频网页等各种数据, 不同数据需要定义不同的数据类型.
Number(数字):[int 整型 float 浮点型(小数) complex 复数类型 ] str(字符串类型): 用单引号''或者双引号"" 或者 ''' ''' 或者 """ """ 包裹起来的文本是字符串 Boolean(布尔类型): True(真) False(假) NoneType(空值):None list(列表):类似于其他语言(C\Java\php\js)中的数组 用 [元素1,元素2,元素3......]来表示 tuple(元组):不可修改的列表 用(元素1,元素2,元素3.....)来表示 dict(字典):类似于其他语言的(php\js)对象 用 {key:value,key1:value1,key2:value2....}来表示 set(集合):了解 {元素1,元素2,元素3.....} bytes(字节):b"文本内容"
代码演示:
# type()用于检测变量的数据类型 # 1. Number类型 int(整型) float(浮点型) num = 12 num1 = 4.12 print(num,num1) print(type(num),type(num1)) # <class 'int'> <class 'float'> # 2.Str类型 使用''或者"" 或者 ''' ''' 或者 """ """ 包裹起来的文本是字符串类型 str = '追女孩三点:1.坚持2.不要脸3.坚持不要脸' str1 = "哥们不是收破烂的,做不到让你随喊随到" print(str,str1) # 3.Bool 类型 True(真) 和 False(假) bool = True bool1 = False print(bool,bool1) # 4.list 列表类型 类似于其他语言的数组 [元素1,元素2,元素3.......] list1 = [12,4.12,'王祖贤','宋小宝',True] print(list1) #5.tuple 元组类型 (元素1,元素2,元素3......) tup = (34,9.23,True,False,'哈哈') print(tup) # 6.字典类型 dict 类似于其他语言中的对象 {key1:value1,key2:value2,......} dict1 = {"name":"天偿","age":18,"love":"美眉"} print(dict1) # 7.set 集合类型 {val1,val2,val3.....} se1 = {"hehe",12,8.12,True} print(se1) # 8.bytes 字节类型 格式: b"文本内容" byte1 = b"hello" print(byte1) print(type(byte1)) # <class 'bytes'>