python入门
一 编程与编程语言
前面我们说过,python是一门编程语言,那么究竟什么是编程?什么是编程语言?编程的目的又是什么?
编程:
编程就是程序员根据需求把自己的逻辑思维按照计算机能够识别的方式写下来所产生的编码文件,这些文件只有在计算机程序中运行才有意义。
编程语言:
编程中提到能够被计算机识别的语言,就是编程语言,编程语言作为一种特殊的语言,是程序员与计算机之间沟通的媒介。
编程的目的:
编程的目的就是为了解放劳动力,让计算机按照人的思维代替人去工作。
二 编程语言的分类
编程语言从最开始的机器语言到后来的汇编语言再到如今的高级语言,在这个发展过程中前两种语言是面向计算机的,人要想跟计算机进行沟通必须先学会计算机
语言,二进制编程也可以使用一些简单的英文,但是本质上他们还是直接操作硬件,就是直接跟计算机进行沟通,向其发出指令。而高级语言相比前两种来说越来越人性
化,人不再直接去操作计算机的硬件而是通过编写程序让操作系统去控制硬件。
高级语言越来越人性化也带来了问题,那就是计算机不能直接识别程序员的指令,必须要通过一个中间介质,于是就有了翻译器,翻译器又分为编译型和解释型。
不同的编程语言翻译器不同,就像同样的中国人,说的话是不同的,所以要想大家都能听懂就需要不同的翻译器将大家的话都翻译成一种语言普通话。
编译型:程序执行速度快,一次编译,重复使用,但程序调试麻烦。
解释型:执行速度较编译型稍慢,每次使用都要重新解释,但是调试方便,修改之后直接运行程序。
总结:
从机器语言--------〉汇编语言--------〉高级语言
学习难度从高到低
执行效率从高到低
开发效率从低到高
速度不是关键,开发效率才是王道。
三 变量
变量顾名思义就是变化的量,变即变化,量即衡量。程序在运行过程就是一系列量变化的过程,能够反映出程序在执行过程的具体变化。
比如:游戏中等级的变化从1级升级到2级,这就是一个变量的值在变化。
3.1 变量的定义:
3.2 变量的定义需要注意的几点:
#1. 变量名只能是 字母、数字或下划线的任意组合 #2. 变量名的第一个字符不能是数字 #3. 关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
3.3定义方式一般两种:
#驼峰体 AgeOfOldboy = 56 NumberOfStudents = 80 #下划线(推荐使用) age_of_oldboy = 56 number_of_students = 80
#尽量使用能够表达出想要表达的意思的英文单词或者缩写都可以。
3.4一般变量名部位中文,不宜过长,不宜使用拼音。
3.5定义的每个变量都会有id(地址),type(类型),value(值)。
#1 两个变量等号比较的是value, #2 is比较的是id #强调: #1. id相同,意味着type和value必定相同 #2. value相同type肯定相同,但id可能不同,如下 >>> x='Info James:33' >>> y='Info James:33' >>> id(x) 4376607152 >>> id(y) 4376607408 >>> >>> x == y True >>> x is y False
3.6常量
常量既不变的量,在程序运行过程始终不变的量,如 π=3.14。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
AGE_OF_OLDBOY = 56。
#在python3中 input:用户输入任何值,都存成字符串类型 #在python2中 input:用户输入什么类型,就存成什么类型 raw_input:等于python3的input
注释分为单行注释和多行注释: 单行注释用#
,多行注释可以用三对双引号""" """。
四 基本数据类型
4.1数字
#int整型 定义:age=10 #age=int(10) 用于标识:年龄,等级,身份证号,qq号,个数 #float浮点型 定义:salary=3.1 #salary=float(3.1) 用于标识:工资,身高,体重,
4.2字符串
在python中,加了引号的字符就是字符串类型,python没有字符类型。
定义:name='james' #name=str('james') 用于标识:描述性的内容,如姓名,性别,国籍,种族
单引号,双引号,多引号的区别:
单引号与双引号没有区别,作用一样。
比如:word='my name is ....'或“my name is ...”一样。
多引号则对应于多行字符串:
比如:word='''
my name is...
my age is...
'''
4.3列表
#在[]内用逗号分隔,可以存放n个任意类型的值 定义:hobbies=['music','basketball','movie',] #hobbies=list(['music','basketball','movie',])
用于标识:存储多个值的情况,比如一个人有多个爱好
列表的嵌套与取值:
#存放多个学生的信息:姓名,年龄,爱好 >>> students_info=[['James','18'['music',]],['jr','18'['play','music']]] >>> students_info[0][2][0] #取出第一个学生的第一个爱好
'music'
4.4字典
#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型 定义:info={'name':'James','age':18,'sex':femal} #info=dict({'name':'james','age':18,'sex':female}) 用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
4.5布尔
#布尔值,一个True一个False
>>> a=1 >>> b=2 >>> >>> a > b #不成立就是False,即假 False >>> >>> a < b #成立就是True, 即真 True
#所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真
4.6 格式化输出
格式化输出就是让输出满足我们的要求的格式,格式化输出中有两个占位符%s和%d,前者可以用来格式化输出字符和数字,后者只能用在数字。
name=input('>> :') age=input('>> :') sex=input('>> :') job=input('>> :') print('------------ info of %s--------'%name) print('Name :%s'%name) print('Age :%s'%age) print('Sex :%s'%sex) print('Job :%s'%job) print('------------end-------------')
输出结果为:
------------ info of Egon -----------
Name : Egon
Age : 22
Sex : male
Job : Teacher
------------- end -----------------
五 基本运算符
包括算术运算,比较运算,逻辑运算,身份运算。
算术运算:
比较运算:
逻辑运算:
身份运算:
is比较的是id地址。
比如:a=12345678
b=12345678
a=1234567890 b=1234567890 print(id(a),id(b)) 635710770992 635710770992 pycharm运行结果
实际上每次重新定义一个变量,都会在内存中申请新的空间,但是由于有时候数据量小或者短时间重复使用的数据,pycharm会进行优化处理。
六 循环控制之if ............else
if users_name=='seven'and users_password=='123': print('logon suceess....')else: print('logon failed.....')
七流程循环值while循环
当while为真,即whileTrue:执行循环。
name='seven' password='123' count=0 while count<3: users_name=input('plese input your name: ') users_password=input('plese input your password:〉') if users_name=='seven'and users_password=='123': print('logon suceess....') break else: count+=1 print('logon failed.....')