计算机基础与python入门
本文目录:
一、计算机、cpu与存储器
1. 什么是编程语言
语言就是一个事物与另外一个事物沟通的介质/表达方式
编程语言即程序员与计算机沟通的介质
2. 什么是编程?为何要编程
编程就是程序员用计算机所能理解的表达方式(编程语言)来将自己的思维逻辑写下来,编程的结果就是一推文件,这些文件称之为软件/程序
3. 编程的目的:
就是人想要奴役计算机,让计算机代替人类去工作,从而解放人力
4. 运行程序的三大核心硬件:
cpu:运行+控制
内存
优点:存取速度快
缺点:断电数据丢失
硬盘
优点:可以永久保存数据,断电数据也不丢失
缺点:存取速度慢
重要:
运行程序,硬件的工作过程:
程序最先存放于硬盘
程序要运行必须从硬盘加载到内存
cpu去内存中取出指令->翻译->执行
1Bytes=8bit
1KB=1024Bytes
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
二、操作系统、编程语言及编写python、变量
操作系统
操作系统是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序
2. 为何要有操作系统
1. 把复杂硬件操作封装成简单的功能/接口用来给用户或者应用程序使用(文件)
2. 把应用程序多硬件的竞争变得有序
应用程序层
操作系统层
计算机硬件层
编程语言分类
优点:计算机无障碍理解,运行效率非常高
缺点:开发效率低
优点:比起机器语言开发效率高
缺点:开发效率比机器语言高,但仍然比较低
问题是计算机无法直接理解,程序是需要经过翻译才能被计算机理解执行的,按照
优点:执行效率高于解释型
缺点:开发效率低于解释型
2. 解释型Python:同声传译
优点:开发效率高于编译型
缺点:执行效率低于编译型
开发效率:解释型>编译型>汇编语言>机器语言
编写python
优点:调试程序方便
缺点:无法永久保存程序
变量
量:衡量/计量/记录某种状态
变:记录下来的某种状态是可以发生变化的
为了让计算机能够像人一样去识别世间万物,
如何识别,就是把事物的特征记录下来=>变量的定义
变量的使用必须遵循:先定义,后引用
# 一: 定义变量
x=10
name = 'egon'
age=18
salary=3.1
# 定义一个变量分为三部分:
# 1. 变量名:变量名是访问到值的唯一方式
# 2. 赋值符号:将值的内存地址"赋值"给变量名
# 3. 变量的值:记录状态
# print(age) # 二: 变量名的命名规范:
# 大前提:变量名的命名应该对值有描述性的功能
#1. 变量名只能是 字母、数字或下划线的任意组合
#2. 变量名的第一个字符不能是数字
#3. 关键字不能声明为变量名 # 三: 变量名的命名风格:
# 1. 驼峰体:
# OldboyOfAge=73
# 2. 下划线纯小写式
# oldboy_of_age=73
# 在python中变量名的命名推荐使用2 # 补充:!!!!!!运行python程序的三个阶段!!!!!!
# python3 D:\test.py
# 1. 先启动python解释器
# 2. python解释器将python文件由硬盘读入内存
# 3. python解释器解释执行刚刚读入内存的代码,开始识别python语法 # 引用计数:计算值被关联了多少个变量名
# 引用计算一旦为零就是垃圾,会被python的垃圾回收机制自动清理
# 引用技术增加
# x=10
# y=x # 引用技术减少
# x=10
# del x # 解除变量名与值10内存地址的绑定关系
# x=11 x=1111
变量剩余
#一 变量值具备三个特征:
# 1. id: 变量值的唯一编号,内存地址不同id则不同
# 2. type:类型
# 3. value # name='egon'
# print(id(name))
# age=18
# print(id(age)) # x=10
# y=x
# print(id(x),id(y)) # age=10
# print(id(age))
# print(type(age))
# print(age) #二: is与==
#is身份运算:比较的是id是否相等
#==判断值是否相等 x=10
y=x
print(id(x),id(y))
print(x is y) #id相等,值一定相等
print(x == y) '''
值相等id不一定相等
>>> x=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
>>> y=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
>>> id(x)
2181129522824
>>> id(y)
2181129523040
>>> x is y
False
>>> x == y
True
''' # x=100000000000000000000000000000000000000
# y=100000000000000000000000000000000000000
print(x is y) # 三 常量
OLDBOY_OF_AGE=73
OLDBOY_OF_AGE=74
print(OLDBOY_OF_AGE)
三、数据类型、输入输出及基本运算
基本数据类型
'''
1. 什么是数据类型
变量值即我们存放的数据,数据类型及变量值的类型 2. 变量值为何要区分类型
因为变量值使用记录现实世界中事物的特征,针对不同的特征就应该用不同类型的值去标识 3. 如何应用数据类型
''' # 一 数字类型:
# 1. 整型int: 年龄\身份证号\电话号码\等级
# age=18 # age=int(18)
# print(id(age),type(age),age) # 2. 浮点型float:薪资\身高\体重
# salary=3.1 #salary=float(3.1)
# print(id(salary),type(salary),salary) # 二 字符串类型str: 名字\家庭住址\单个爱好\性别等等描述性质的特征
# 定义:在引号(单引号\双引号\三引号)内包含一串字符
# name1='egon'
# name2="egon"
# name3="""egon"""
# print(type(name1))
# print(type(name2))
# print(type(name3))
# msg='my name is "egon"'
# print(msg) msg1='hello'
msg2='world'
# res=msg1 + msg2
# print(res,type(res))
# print(msg1)
# print('='*100)
# print(msg2) # 三 列表list: 记录多个值,比如人的多个爱好,一个班级多个学生的性别
#定义:在[]内用逗号分隔开多个任意类型的值
l=[1,3.1,'aa',['a','b','c',['aaaa','bbbb']]]
# print(l)
# print(l[0])
# print(l[2])
# print(l[3][1])
# print(l[3][3][0]) # 四 字典dict: 记录多个key:value值,
# 引子:
# students=['egon','lxx','yxx']
# print(students[0]) # name age sex level hobbies
# info=['egon',18,'male',10,['music','read','dancing']]
# print(info[0])
# print(info[2]) # 定义:在{}内用逗号分隔开多个key:value的值,其中value可以是任意数据类型,
# 而key通常应该是字符串类型
info={
'name':'egon',
'age':18,
'sex':'male',
'level':10,
'hobbies':['music','read','dancing']
} #info=dict(...)
# print(type(info))
# print(info['level'])
# print(info['age'])
# print(info['hobbies'][1]) # emp_info={
# 'name':'egon',
# 'hobbies':['play','sleep'],
# 'company_info':{
# 'name':'Oldboy',
# 'type':'education',
# 'emp_num':40,
# }
# }
# print(emp_info['company_info']['name']) # 五: 布尔类型bool: True/False,用来标识条件是否成立
# age=18
#
# print(age > 30)
# print(age < 30) # 所有类型的值都自带布尔值: 当数据类型的值为0,None,空时,布尔值为False,除此以外都为True
# print(bool(0))
# print(bool(None))
# print(bool(''))
# print(bool([]))
# print(bool({}))
# print(bool(1)) if None:
print('条件成立了11确实大于10的')
输入输出
# 在python3中的input会将用户输入的任何内容都存成str类型
# name=input("请输入您的用户名: ") #name="egon"
# pwd=input("请输入您的密码: ") #pwd='123' # if name == 'egon' and pwd == '123':
# print('登陆成功')
# else:
# print('用户名或者密码输错了傻叉') # 了解:
# 在python3中只有一个input,而python2中有input和raw_input
# 1.其中python2的raw_input与python3的input是一样
# 2 不一样的是:python2的input要求使用者必须输入一个明确的数据类型,输入什么类型就存成什么类型
# age=input('>>>: ') #age="18"
# print(age,type(age))
# age=int(age) #age=int("18") #age=18
# print(age > 30) # name=input('请输入您的用户名: ')
# age=input('请输入您的年龄: ') # print('my name is my age is ',name,age)
# print('my name is ',name,'my age is ',age) # print('my name is %s my age is %s' %(name,age))
# print('my name is %s my age is %s' %([1,2,3],18)) #%s可以收任意类型的值
# print('my name is %s my age is %d' %('egon',18))
# print('my name is %s my age is %d' %('egon','18')) #%d只能接收整型
基本运算符
#1 算术运算
# print(10 + 1.1)
# print(10 / 3) # 有整数部分有余数部分
# print(10 // 3) # 去掉小数部分
# print(10 % 3) #取余
# print(2 ** 3)
#2 比较运算
#比较运算只能在同类型之间进行,其中int与float同属于数字类型
# print(10 > 3.1)
# print(10 >= 10)
# 了解
# msg1='abcdefg'
# msg2='abce'
# print(msg2 > msg1)
# list1=['a',1,'b']
# list2=['a',2]
# list2=['a','b']
# list2=['c','b']
# print(list2 > list1)
#3 赋值运算
#3.1 增量赋值
# age=18
# age=age + 1
# age+=1 # age=age+1
# print(age)
# x=10
# x%=3 #x=x%3
# print(x)
#3.2 链式赋值
# x=10
# y=x
# print(x is y)
# a=b=c=d=e=111
# print(a is b is c is d is e)
#3.3 交叉赋值
# x=10
# y=20
#
# temp=x
# x=y
# y=temp
# x,y=y,x
# print(x,y)
#3.4 解压赋值
nums=[1,2,3,4,5]
# a=nums[0]
# b=nums[1]
# c=nums[2]
# d=nums[3]
# e=nums[4]
# a,b,c,d,e=nums
# print(a,b,c,d,e)
# a,b,c,_,_=nums #_=5
# print(a,b,c)
# print(_)
# a,b,*_=nums #
# print(a,b)
#4 逻辑运算:and,or,not
# and:连接左右两个条件,两个条件必须都成立,最后结果才为True,一旦左边条件为假则最终结果就为假,没有必要再去计算右面条件的值
# print(1 > 2 and 3 > 1)
# or:连接左右两个条件,两个条件但凡有一个成立,结果就为True,一旦左边条件为True则最终结果就为True,没有必要再去计算右面条件的值,
# 一旦左边条件为False,还需要去计算右面条件的值,如果为True,最终也True
# not:取反
# print(not 1 > 2 or 3 > 1)
# print(not 1 > 2)
print((True and (False or True)) or (False and True))
#5 身份运算:is与==
四、流程控制之if判断、while与for循环
if判断
# for循环主要用于循环取值
student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb'] # i=0
# while i < len(student):
# print(student[i])
# i+=1 # for item in student:
# print(item) # for item in 'hello':
# print(item) # dic={'x':444,'y':333,'z':555}
# for k in dic:
# print(k,dic[k]) # for i in range(1,10,3):
# print(i) # for i in range(10):
# print(i) student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb']
# for item in student:
# print(item) for i in range(len(student)):
print(i,student[i])
while循环
'''
1. 什么是循环
循环指的是一个重复做某件事的过程 2. 为何要有循环
为了让计算机能够像人一样重复做某件事
3. 如何用循环 '''
# while循环的语法:while循环又称为条件循环,循环的次数取决于条件
'''
while 条件:
子代码1
子代码2
子代码3
'''
# print('start....')
# while True:
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# else:
# print('user or password err')
# print('end...') # 如何结束while循环
# 方式一:操作while循环的条件让其结束
# print('start....')
# tag=True
# while tag:
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# tag=False
# else:
# print('user or password err')
#
# print('end...') # 方式二: break强行终止本层循环
# count=1
# while count < 6:
# print(count)
# count+=1 # count=1
# while True:
# if count > 5:
# break
# print(count)
# count+=1 # print('start....')
# while True:
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
#
# print('end...') # 输错三次则退出
# 方式一:
# print('start....')
# count=0
# while count <= 2: #count=3
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
# count+=1
#
# print('end...') # 方式二
# print('start....')
# count=0
# while True:
# if count == 3:
# print('输错的次数过多傻叉')
# break
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
# count+=1
#
# print('end...') # while+continue:continue代表结束本次循环,直接进入下一次
# count=1
# while count < 6:
# if count == 4:
# count+=1
# continue # 只能在cotinue同一级别之前加代码
# print(count)
# count+=1
#
#
# while True:
# print('11111')
# print('22222')
# print('333')
# continue # 不应该将continue作为循环体最后一步执行的代码 # while+else
# count=1
# while count < 6:
# if count == 4:
# break
# print(count)
# count+=1
# else:
# print('会在while循环没有被break终止的情况下执行') # 输错三次则退出之while+else的应用
# print('start....')
# count=0
# while count <= 2: #count=3
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
# count+=1
# else:
# print('输错的次数过多')
#
# print('end...') # while循环的嵌套
# name_of_db='egon'
# pwd_of_db='123'
# print('start....')
# count=0
# while count <= 2: #count=3
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == name_of_db and pwd == pwd_of_db:
# print('login successful')
# while True:
# print("""
# 1 浏览商品
# 2 添加购物车
# 3 支付
# 4 退出
# """)
# choice=input('请输入你的操作: ') #choice='1'
# if choice == '1':
# print('开始浏览商品....')
# elif choice == '2':
# print('正在添加购物车....')
# elif choice == '3':
# print('正在支付....')
# elif choice == '4':
# break
# break
# else:
# print('user or password err')
# count+=1
# else:
# print('输错的次数过多')
#
# print('end...') # tag控制所有while循环
name_of_db='egon'
pwd_of_db=''
tag=True
print('start....')
count=0
while tag:
if count == 3:
print('尝试次数过多')
break
name=input('please your name>>: ')
pwd=input('please your password>>: ')
if name == name_of_db and pwd == pwd_of_db:
print('login successful')
while tag:
print("""
1 浏览商品
2 添加购物车
3 支付
4 退出
""")
choice=input('请输入你的操作: ') #choice='1'
if choice == '':
print('开始浏览商品....')
elif choice == '':
print('正在添加购物车....')
elif choice == '':
print('正在支付....')
elif choice == '':
tag=False else:
print('user or password err')
count+=1 print('end...')
for循环
# for循环主要用于循环取值
student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb'] # i=0
# while i < len(student):
# print(student[i])
# i+=1 # for item in student:
# print(item) # for item in 'hello':
# print(item) # dic={'x':444,'y':333,'z':555}
# for k in dic:
# print(k,dic[k]) # for i in range(1,10,3):
# print(i) # for i in range(10):
# print(i) student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb']
# for item in student:
# print(item) for i in range(len(student)):
print(i,student[i])
计算机基础与python入门的更多相关文章
- 316python 基础之计算机基础、Python简介、变量、注释、基础数据类型初识、if、while、语句
一.计算机基础. cpu:相当于人的大脑,运算与控制中心. 速度 飞机 内存:4G,8G,16G....暂时存储,供给cpu数据. 速度 高铁.成本高,断电即消失. 硬盘:相当于你电脑的数据库,存储着 ...
- 计算机基础,Python基础--变量以及简单的循环
一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存 用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全 ...
- 计算机基础与python安装
计算机基础 内容详细: 一.计算机基础 1. 计算机什么组成的 输入输出设备 cpu 硬盘 内存 中央处理器 处理各种数据 相当于人的大脑 内存 存储数据 硬盘 存储数据的 2. 什么是操作系统 控制 ...
- 计算机基础、python历史,环境,分类,安装
一.计算机基础 CPU:大脑,处理数据,计算 内存:临时储存数据,运行速度快,成本高,断电数据会消失:4G,8G,16G,32G 硬盘:1T,固态硬盘,机械硬盘:储存数据,文件,能长久保存 操作系统: ...
- 零基础小白Python入门必看:面向对象之典型魔术方法
- 给有C或C++基础的Python入门 :Python Crash Course 5 if语句
本章就是Pyhon版的 if语句.原理大家都懂,就不一一说说明了. 值得注意的两点: 1. 在每个if类语句结尾必须加上符号“:”. 2. 注意,在python中是否缩进代表与上一行代码是否有关. 下 ...
- 给有C或C++基础的Python入门 :Python Crash Course 1 - 3
暑假ACM集训结束,预习下个学期要学习的Python. 前几章比较基础,玩玩学学很快学完了,这里随意写点收获. 第一章 搭建编译环境 用的是最新的Python3.编译器用的是推荐的Geany..具 ...
- 给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.4 -- 4.5
上接前一篇文章. 4.4 使用列表的一部分 一,切片 切边,顾名思义,就是处理列表的部分元素. 我们可以联系一下C++的一段语句:for(int i = 0; i < n-2; ++i) cou ...
- 给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.1--4.3
操作列表,也就是遍历列表.本章我们要学的就是如何遍历列表. 4.1--4.2 遍历列表 遍历列表,用for循环. 不同于C++或者C语言的for循环,Python的for循环更容易让人理解. 看一个例 ...
随机推荐
- 【leetcode】506. Relative Ranks
problem 506. Relative Ranks solution1:使用优先队列: 掌握priority_queue 和 pair的使用: class Solution { public: v ...
- ip routing 开启三层路由模式
no ip router是关闭路由协议,no ip routing 是关闭三层的路由工作模式 no ip route是删除某条(静态)路由,比如no ip router 0.0.0.0 0.0.0.0 ...
- 【SVN】总结:svn“Previous operation has not finished; run 'cleanup' if it was interrupted“
svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”.无论你到那个父 ...
- [CF1065F]Up and Down the Tree_tarjan_树形dp
Up and Down the Tree 题目链接:https://www.luogu.org/problem/CF1065F 数据范围:略. 题解: 我们把每个叶子向它上面$k$个点连边,然后tra ...
- SQL SERVER修改字段为首字母大写
--修改字段为首字母大写 -- EXEC sp_rename 'ShenBao_CaiGouFuKuan.Tid', 'Tid', @objtype = 'COLUMN'; SELECT 'EXEC ...
- ubuntu14中配置tomcat8
在ubuntu14.04中配置tomcat8. 1.下载tomcat 地址:http://tomcat.apache.org/download-80.cgi ubuntu可以下载tar.gz类型的或者 ...
- Thinkphp自定义生成缩略图尺寸的方法
Thinkphp自定义生成缩略图尺寸的方法,本实例中生成两张不同尺寸的图片:第一张是大图350*350,第二张 50*50的缩略图 Image类是Thinkphp系统自带的,可以研究下,这个缩略图类很 ...
- Devepxress xaf Dashboard中DetailView控件使其可编辑
最开始用Devexpress xaf Dashboard做界面的时候,DetailView界面里面的控件都无法编辑,后来解决了这个问题,记录下来供大家参考. 解决方法:创建ViewController ...
- RBAC授权
RBAC RBAC使用rbac.authorization.k8s.io API Group 来实现授权决策,允许管理员通过 Kubernetes API 动态配置策略,要启用RBAC,需要在 api ...
- js 替换html
function getInfo(){ var player_name=$("#name").val(); $.ajax({ url: 'get_wefare', method: ...