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:退出本次循环,继续下次循环

 

 

 

 

 



posted @ 2018-03-18 16:24  鲁之敬  阅读(102)  评论(0编辑  收藏  举报