本文目录:

一、计算机、cpu与存储器

二、操作系统、编程语言及编写python、变量

三、数据类型、输入输出及基本运算

四、流程控制之if判断、while与for循环

一、计算机、cpu与存储器  

1. 什么是编程语言

    语言就是一个事物与另外一个事物沟通的介质/表达方式
     编程语言即程序员与计算机沟通的介质

2. 什么是编程?为何要编程

    编程就是程序员用计算机所能理解的表达方式(编程语言)来将自己的思维逻辑写下来,编程的结果就是一推文件,这些文件称之为软件/程序

  

3. 编程的目的:

     就是人想要奴役计算机,让计算机代替人类去工作,从而解放人力

4. 运行程序的三大核心硬件:

  cpu:运行+控制
   内存
       优点:存取速度快
       缺点:断电数据丢失
   硬盘
      优点:可以永久保存数据,断电数据也不丢失
      缺点:存取速度慢

  重要:
      运行程序,硬件的工作过程:
       程序最先存放于硬盘
       程序要运行必须从硬盘加载到内存
       cpu去内存中取出指令->翻译->执行

  
  1一个二进制位称之为1bit
     1Bytes=8bit
     1KB=1024Bytes
     1MB=1024KB
     1GB=1024MB
     1TB=1024GB
     1PB=1024TB
 
 

二、操作系统、编程语言及编写python、变量

操作系统

  1. 什么是操作系统
       操作系统是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序
  2. 为何要有操作系统
       1. 把复杂硬件操作封装成简单的功能/接口用来给用户或者应用程序使用(文件)
       2. 把应用程序多硬件的竞争变得有序
  3. 如何用操作系统
      一套完整的计算机系统分为三层:
                应用程序层
                操作系统层
                计算机硬件层

编程语言分类

  1. 机器语言(直接操作硬件):直接使用二进制指令去编写程序
        优点:计算机无障碍理解,运行效率非常高
        缺点:开发效率低
 
  2. 汇编语言(直接操作硬件):使用英文标签代替二进制指令去编写程序
        优点:比起机器语言开发效率高
        缺点:开发效率比机器语言高,但仍然比较低
 
  3. 高级语言:直接使用人能力理解的表达方式去编写程序
        问题是计算机无法直接理解,程序是需要经过翻译才能被计算机理解执行的,按照
 
      翻译方式的不同,分为两种:           
       1. 编译型C:谷歌翻译
                 优点:执行效率高于解释型
                 缺点:开发效率低于解释型
            2. 解释型Python:同声传译
                 优点:开发效率高于编译型
                 缺点:执行效率低于编译型
   
    执行效率:机器语言>汇编语言>编译型>解释型
       开发效率:解释型>编译型>汇编语言>机器语言

编写python

    执行python程序有两种方式:
    1. 交互式环境:输入代码立即执行
       优点:调试程序方便
       缺点:无法永久保存程序
 
    2 代码写入文件,文件的名test.py
            打开cmd执行:python3 D:\test.py
            优点:永久保存程序
 

变量

    1. 什么是变量
        量:衡量/计量/记录某种状态
        变:记录下来的某种状态是可以发生变化的
 
    2. 为何要用变量
        为了让计算机能够像人一样去识别世间万物,
        如何识别,就是把事物的特征记录下来=>变量的定义
 
    3. 如何用变量
        变量的使用必须遵循:先定义,后引用
# 一: 定义变量
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])

                            

               

                

              

         

最新文章

  1. 总结最近移动端遇到的坑(auto-size + zepto)
  2. 后端码农谈前端(HTML篇)第二课:常见元素
  3. A class for global logging
  4. HTML5的 2D SVG和SVG DOM的学习笔记(1)
  5. .Net实现的批量删除(使用了repeater控件)
  6. ORACLE触发器具体解释
  7. Docker container network configuration
  8. python【第三篇】函数
  9. python字符串转义与正则表达式特殊字符转义
  10. POJ 2311 Cutting Game(SG+记忆化)
  11. 2015年4月27日---C语言:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
  12. 软件补丁问题(SPFA+位运算)
  13. 函数:PHP将字符串从GBK转换为UTF8字符集iconv
  14. Java数据解析---PULL
  15. 深度理解C# 的执行原理
  16. vi 格式配置
  17. 使用jsp内置对象request获取表单提交中文内容乱码的解决办法
  18. 使用Xshell远程访问tensorboard
  19. OPenGL 库文件的添加
  20. 搭建基于hyperledger fabric的联盟社区(三) --生成公私钥证书及配置文件

热门文章

  1. Spark On YARN启动流程源码分析(一)
  2. 2019-10-17 李宗盛 spss作业
  3. 【VS开发】文件共享内存2
  4. Spring实例化Bean三种方法:构造器、静态工厂、实例工厂
  5. Chrome浏览器控制台报 POST http://*** net::ERR_BLOCKED_BY_CLIENT
  6. Proxy 和aop
  7. python学习-3 python基础-1基础知识和解释器
  8. spark调优篇-Spark ON Yarn 内存管理(汇总)
  9. 【广搜】Knight Moves
  10. Django Rest Framework 安装