python入门基础
1,什么是操作系统:
是一个协调、管理、控制计算机硬件与软件的控制程序
操作系统分成两部分:
接口程序:将硬件的功能封装成简单的接口,用来给应用软件或者给用户使用
内核:具体控制硬件,对下
内核态与用户态(了解)
cpu的两种工作状态
用户态:cpu执行用户程序/应用程序所处的状态,处于用户态不能控制硬件
内核态:cpu执行操作系统内核所处的状态,处于内核态能够控制硬件
应用程序的启动:(重点!!!)
前提:先启动操作系统
1、向操作系统提交程序启动文件的路径
2、操作系统根据文件路径把硬盘的数据读入内存
3、操作系统调用cpu来执行内存中刚刚读入的程序代码
编程语言分类:
机器语言:用二进制指令编程,本质是直接操作硬件
优点:执行效率高(机器能直接识别)
缺点:
开发效率低
学习难度高(程序员都懒)
汇编语言:用英文标签代替二进制指令,本质也是直接操作硬件
优点:执行效率高(带方言的二进制,机器也能听得懂)
缺点:
开发效率低
学习难度高
高级语言:用人类的字符去编写程序,人类的字符计算机无法理解,必须经过翻译,翻译成机器语言计算机才能执行
编译型:C
类似与谷歌翻译-->gcc
特点:编译一次,拿到结果可以重复执行,无需重新编译
翻译:程序---->gcc----->机器语言
执行:机器语言---->CPU
优点:
执行效率高
缺点:
调试程序麻烦
跨平台性差
解释型:Python
类似于同声传译--》解释器
特点:解释一行,执行一行,即边翻译边执行
程序---->解释器----->机器语言----->CPU
优点:
开发效率高
跨平台性高
调试程序方便
缺点:
执行效率低
学习难度:从高到低
执行效率:从高到低
开发效率:从低到高
变量
变量:
什么是变量?
变:变化
量:表示的是状态
变量是一种可以反映出状态变化的一种机制
为什么要有变量?
程序的执行本质就是一系列状态的变化
如何定义变量?
语法:
变量名=值
变量名是对值的引用
示范:
level(变量名)=0(变量值)
level=1
age=18
age=19
is_live=True
is_live=False
name='liqing'
python自动的垃圾回收机制(了解)
垃圾:当变量值身上的引用计数为0,python内的优化机制就会启动,自动回收。
增加引用计数
x=1
y=x
减少引用计数
x='egon'
del y # 删除y与1的绑定关系
变量的命名规范?
#1. 变量名只能是 字母、数字或下划线的任意组合
#2. 变量名的第一个字符不能是数字
#3. 关键字不能声明为变量名
定义方式:
驼峰体
AgeOfOldboy=58(首字母大写)
下划线
age_of_oldboy=58(用下划线隔开)
变量的三个特征(重点)
id(相当于一个变量在内存空间中的门牌号)
type(变量的类型)
value(变量值)
示范:
>>> name='egon'
>>> print(id(name)) #打印name的id号
1964167301752
>>> id(name)
1964167301752
>>>
>>>
>>> type(name)
<class 'str'> #字符串类类型
>>>
>>> name
'egon'
#==:比较的是值
s1='name:alex,age:73'
s2='name:alex,age:73'
>>> s1='name:alex,age:73'
>>> s2='name:alex,age:73'
>>> id(s1)
1964167290288
>>> id(s2)
1964167290504
>>>
>>> s1 is s2
False #为假,说明判断错误
>>> s1 == s2
True #为真,说明判断正确
#is:身份运算,比较的是id
>>> x=1
>>> y=x
>>>
>>>
>>> id(x)
1894346208
>>> id(y)
1894346208
>>> x == y
True
>>> x is y
True
用户与程序的交互:
input:输入数据
数据类型:
1,数字类型:int
int:整数型(年龄,身份证号,id号...)
fload:浮点型(身高,工资)(有余数的数)
2,字符串str;
包含在引号内的一串字符(单引号,双引号,三引号内的值都是字符串)
字符串可以拼接,但只能做‘加’‘乘’拼接
例:s1='hello' s2='word' print(s1+s2)==>'helloword'
s1='10' print(s1*10)==>'10'打印10遍
3,列表list:
定义在[]内,用逗号分隔开多个值,值可以是 任意类型
例:stu_name=['li',‘hu','gu'] print(stu_name[0])==> li
0 1 2 (计算机从0开始计数)
4,字典dilt:
定义在{}内用逗号分隔开,每一个元素都是key(必须为不可变类型):value的形式,其中value可以是任意类型
例:user_info={’name‘:’si‘,’age‘:18,’hobbies':['read','music']}
print(user_info['age'])==>18 print(user_info['hobbies'])==> read,music
5,布尔类型bool:True,False
做判断作用,所有数据类型都自带布尔值:‘0’ ‘空’ ‘None’三种情况下布尔值为False,其余都为真。
6,可变类型与不可变类型:
可变:在id不变的情况,值可以改变。 列表,字典
不可变:值改变了,id也变了(id改变了意味创建了新的内存空间)。 数字,字符串
格式化输出:
%s:%占用一个位置,s等待外部赋予的一个值
例: print(‘my name is %s my age is %s’ %(‘li’,18)==>my name is li my age is 18
基本运算符:
赋值运算:
例: age=18 age=age+1(也可以写成age+=1) print(age)==》19
逻辑运算:判断
逻辑语:‘and’(和,用来连接左右两个条件,只有两个条件判断的结果都为True的情况下运算最终结果才为True)
‘or’(或,有一个真结果就为真)
‘not’(非,相反结果)
流程控制
if:如果(判断性质)
例:sex=‘female’
age=20
is_beutiful=True
if sex=='female' and age>18 and is_beutiful:
print('表白‘)
else:
print(’阿姨好“)
while循环:
while:循环体
循环条件(如果条件为真,那么循环体则执行,执行完了再次循环,重新判断条件。如果条件为假,那么循环体不执行,循环终止。)
break与continue:
break:退出本层循环
continue:退出本次循环,继续下次循环