Python入门

1. 编程语言分类:
机器语言:用二进制指令编程,本质是直接操作硬件。
优点:执行效率高。
缺点:开发效率低,学习难度高。

汇编语言:用英文标签代替二进制指令,本质也是直接操作硬件。
优点:执行效率高。
缺点:开发效率低,学习难度高。

高级语言:用人类的字符去编写程序,人类的字符计算机无法理解,必须经过翻译,翻译成机器语言计算机才能执行

优点:开发效率高,学习难度低。

缺点:执行效率低。

高级语言按照翻译的形式不同可分为编译型和解释型:
编译型:C
类似与谷歌翻译-->gcc
特点:编译一次,拿到结果可以重复执行,无需重新编译

翻译:程序---->gcc----->机器语言
执行:机器语言---->CPU

优点:执行效率高。
缺点:调试程序麻,烦跨平台性差。

解释型:Python
类似于同声传译--》解释器
特点:解释一行,执行一行,即边翻译边执行

程序---->解释器----->机器语言----->CPU

优点:开发效率高,跨平台性高,调试程序方便
缺点:
执行效率低

2. python程序,两种运行程序的方式
交互式:调试程序

解释器:使用解释器直接运行程序文件
python 程序的路径:python D: est.txt (强调,后缀名没有影响,但写成.py结尾是约定俗成)

重点:
1、先启动python解释器
2、将D: est.txt的代码读入内存
3、解释执行

3. 变量:
什么是变量?
变:变化
量:表示的是状态
变量是一种可以反映出状态变化的一种机制
为什么要有变量?
程序的执行本质就是一系列状态的变化

如何定义变量?
语法:
变量名=值
变量名是对值的引用
示范:
level=0
level=1


python自动的垃圾回收机制(了解)
垃圾:值身上的引用计数为0
增加引用计数
x=1
y=x

减少引用计数
x='egon'
del y # 删除y与1的绑定关系

变量的命名规范?
#1. 变量名只能是 字母、数字或下划线的任意组合
#2. 变量名的第一个字符不能是数字
#3. 关键字不能声明为变量名
定义方式?
驼峰体
AgeOfOldboy=58
下划线
age_of_oldboy=58

注:建议使用下划线并且不要将下划线放在最前和最后

变量的命名尽量需避免的情况:

#1.变量名不要使用中文,拼音命名

#2.变量名尽量不要过长

#3.变量名要尽可能表达使用的意图


变量的三个特征(重点)
id:变量的在python内的模拟地址
type:数据的类型
value:数据值
示范:
>>> name='egon'
>>> print(id(name))
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


常量:不变的量
AGE_OF_OLDBOY=58

Python中没有常量概念一般程序员约定变量名为全部大写的为常量。 

4. 用户与程序交互

input():用来接收用户输入的字符串。

5.注释

代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """

    代码注释的原则:

#1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
#2. 注释可以用中文或英文,但不要用拼音


6. 文件头

#!/usr/bin/env python
# coding: utf-8

每个程序文件里必须要写的,第一行是Linux所使用的解释器路径,第二段为文件的编码声明

7.基本数据类型

数据即变量的值,如age=18,18则是我们保存的数据。
变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识

数字 :

分为整型和浮点型

#int整型
定义:age=10 #age=int(10)
用于标识:年龄,等级,身份证号,qq号,个数

#float浮点型
定义:salary=3.1 #salary=float(3.1)
用于标识:工资,身高,体重

字符串

#在python中,加了引号的字符就是字符串类型,python并没有字符类型。
定义:name='egon' #name=str('egon') 
用于标识:描述性的内容,如姓名,性别,国籍,种族
#那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合
msg = "My name is Egon , I'm 18 years old!"

#多引号什么作用呢?作用就是多行字符串必须用多引号
msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)

注:如果有需要引号内还要添加引号,如果外层使用单引号内层就要使用双引号;反之亦然。不可使用相同引号。

列表

  #在[]内用逗号分隔,可以存放n个任意类型的值

     

定义:students=['egon','alex','wupeiqi',] #students=list(['egon','alex','wupeiqi',]) 
用于标识:存储多个值的情况,比如一个人有多个爱好
#存放多个学生的信息:姓名,年龄,爱好
>>> students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
>>> students_info[0][2][0] #取出第一个学生的第一个爱好
'play'

字典

#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型
定义:info={'name':'egon','age':18,'sex':18} #info=dict({'name':'egon','age':18,'sex':18})
用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
info={
    'name':'egon',
    'hobbies':['play','sleep'],
    'company_info':{
        'name':'Oldboy',
        'type':'education',
        'emp_num':40,
    }
}
print(info['company_info']['name']) #取公司名


students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
print(students[1]['hobbies'][1]) #取第二个学生的第二个爱好

布尔类型

布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标

#所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真

可变类型与不可变类型

#1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典

#2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)


可变的有列表字典,不可变的有数字字符串。

格式化输出

%s   %d   用来占位

#%s字符串占位符:可以接收字符串,也可接收数字
#%d数字占位符:只能接收数字

8.基本运算符

算术运算:

        

比较运算:

     

赋值运算:

    

身份运算

#is比较的是id
#而==比较的是值

 9.流程控制

if   elif  else  判断语句

if 条件1:

    缩进的代码块

  elif 条件2:

    缩进的代码块

  elif 条件3:

    缩进的代码块
   else:  

    缩进的代码块
实例代码:
score=input('>>: ')
score=int(score)

if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('普通')
else:
    print('很差')


while循环
while 条件:    
    # 循环体
 
    # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
    # 如果条件为假,那么循环体不执行,循环终止
示例:
#打印0-10
count=0
while count <= 10:
    print('loop',count)
    count+=1

#打印0-10之间的偶数
count=0
while count <= 10:
    if count%2 == 0:
        print('loop',count)
    count+=1

#打印0-10之间的奇数
count=0
while count <= 10:
    if count%2 == 1:
        print('loop',count)
    count+=1
原文地址:https://www.cnblogs.com/zhaodafa/p/8598451.html