一、Python 语言的简述 Python语言是一种解释型、面向对象的编程语言,是一种开源语言。 Python属于动态类定义语言,也是一种强调类型语言。 二、Python 语言的特点 1、简单、高级 2、面向对象 3、可扩展性、免费和开源的 4、可移植型、可嵌入型、丰富的库 三、Python语言的应用范围 1、操作系统管理 2、科学计算 3、Web应用 4、图形用户界面(GUI)开发 5、其他,例如游戏开发等 第二章Python语言基础 一、语句 1、Python语句 例如:aString=”张三” #变量赋值 Print(aString) #调用函数,输出:张三 Python语句包括简单语句和复合语句 2、Python语句的书写规则 1)使用换行符分隔,一般情况下,一行一条语句 2)从第一列开始,前面不能有任何的空格,否则会产生语法错误。 注: ① 注释语句可以从任意位置开始 ② 复合语句构造体必须缩进 3)反斜杠(\)用于一个代码跨越多行的情况 4)分号(;)用于在一行书写多条语句 例如:a=0;b=1;c=6 S=”abc”;print(s) 3、复合语句及其缩进书写规则 1)头部语句由相应的关键字开始,构造体语句则为下一行开始的一行或多行缩进代码。 例如:sum=0 for i in range(1,11) sum=sum+1 print(i,end=’ ’) 2)通常缩进是相对头部语句缩进4个空格,也可以是任意空格,但同一构造体代码块的多条语句缩进的空格数必须一致。 3)如果条件语句、循环语句、函数定义和类函数定义比较短,可以放在同一行。 4、注释语句 1)# 注释掉一行 2)'’’ '’’ 注释多行语句 5、空语句pass 要表示一个空的代码块, 例如:def do_nothing(): pass 二、表达式 1、表达式的组成 由操作数和运算符组成 1)表达式的书写规则。 2)乘号不可以省略 2、 3)表达式从左到右在同一个基准上书写 4)括号必须成对出现,只能使用圆括号,可以嵌套使用。 三、运算符 1、运算符概述 运算符用于在表达式中对一个或多个操作数进行计算并返回结果值。 2、运算符及其优先级 ① or 或运算 ② and 与运算 ③ not x 非运算 ④ in,not in 成员测试 ⑤ is,is not 同一性测试 ⑥ ** 指数/幂 四、标识符及其命名规则 1、标识符 ① 标识符是变量、函数、类、模块和其他对象的名称。 ② 标识符第一个字符必须是字母或下划线,其后可以是数字、字母、下划线 ③ 关键字不可以做标识符 ④ 标识符区分大小写 ⑤ 以双划线开始和结束的名称通常具有特殊的含义,例如:_init_为类的构造函数。 ⑥ 避免使用Python预定义标识符作为自定义标识符名。 2、保留关键字(预定义标识符) 例如:使用Python帮助系统查看关键字。 ① 运行Python内置集成开发环境IDLE ② 进入帮助系统 >>>help() ③ 查看关键字列表 help> keywords ④ 查看关键字if的帮助信息 help> if ⑤ 退出帮助系统 help> quit 3、命名规则 1)模块/包名:全小写字母,可使用下划线 2)函数名:全小写字母,可使用下划线 3)变量名:全小写字母,可使用下划线 4)类名:采用pascalCase命名规则,多个单词组成,每个单词的第一个字母大写,其他小写。 5)常量名:全大写字母,可以使用下划线 五、对象与引用 1、对象的含义:对象是某个类的实例,对象由唯一的id标识,对象可以通过标识符来引用,对象引用即指向对象实例的标识符。 2、对象的类型和标识 1)通过type()函数,可以判断一个对象的类型 2)通过ID()函数,可以获取一个对象的有唯一的id标识。 3、对象比较()和类型判别(is) 1)通过运算符判断两个变量指向的对象的值是否相等; 2)通过is运算符可以判断两个变量是否指向同一个对象; 4、不可变对象(immutable)和可变对象(mutable) 不可变对象一旦创建,就不能被修改,可变对象的内容可以被修改 六、变量和赋值 1、变量和数据类型 1)计算机程序处理的数据必须放入到内存,python所有的数据都是对象,每个对象都是某个类的实例,即数据对象具有数据类型。 2)指向对象的引用即变量 3)变量可以不限定数据类型 例如: a=1 #1为int类型,变量a指向int类型的对象1 b=”11” #”11”为str类型,变量b指向str类型的对象”11” Int和str类型不能直接相加,不会自动转换 2、变量的声明和赋值 变量名和赋值的格式:“变量名=要赋的值” Python变量被访问之前必须被初始化,即赋值,否则会报错。 3、链式赋值语句 格式:“变量1=变量2=表达式” 等价于 变量2=表达式;变量1=变量2 链式赋值用于为多个变量赋同一个值 4、复合赋值语句 1)+=:sum+=item 2)-=:sum-=item 3)等等 5、删除变量 可以使用del语句删除不再使用的变量 6、系列解包赋值 1)Python支持数据组合类型。 2)Python支持把数据组合类型解包为对应相同个数的变量。 注:变量的个数必须与元组或列表元素个数一致,否则会产生错误 使用“啊a,b=b,a”的方式,可以优雅的实现两个变量值的交换。 七、数据类型 Python语言中每个对象都属于某个数据类型。 1、Python包含三种特殊的数据类型:NoneType,NotImplementedType,Ellipsis 1)NonoType NoneType数据类型包含唯一值None,主要表示空值。 2)NotImplementedType NotImplementedType数据类型包含唯一值NotImplemented,数值运算和比较运算时,如果对象不支持,则可能返回该值。 3)EllipsisType EllipsisType数据类型包含唯一值Ellipsis,表示省略字符串符号。 2、数值数据类型 Python包括四种内置的数值类型 1)整数类型(int),用于表示整数。 2)布尔类型(bool),用于表示布尔逻辑值。例如:TRUE和False 3)浮点类型(float),用于表示实数。 4)复数类型(complex),用于表示复数。 3、序列数据类型 4、集合数据类型(集合不可变集) 集合数据类型表示若干个数据的集合,数据项目没有顺序,且不重复。 5、字典数据类型 用于表示键值对的字典。Python的内置字典数据为dict 6、其他数据类型 1)可调用数据类型 2)模块 模块类型是一个容器,是可以使用import语句加载的对象。 3)类 4)对象实例 5)解释器内置类型 八、类的声明和对象的创建于调用 1、类的声明 Class 类名: 类体 2、对象的创建和调用 格式: anObject=类名(参数列表) anObject.对象方法或者 anObject.对象属性 注: 1)类使用关键字class声明,类名为有效的标识符 2)类体中可以定义属于类的属性、方法等 3)创建对象后,可访问其属性、调用其方法 例如: 九、函数 1、函数的声明和调用 函数的声明格式: def 函数名([形参列表]) 函数体 函数的调用格式: 函数名([实参列表]) 注:1)函数使用关键字def声明,函数名为有效的标识符,形参列表为函数的参数。 2)声明函数的参数叫形参,调用函数时叫实参 3)函数可以使用return返回值。无返回值的函数相当于其他编程语言中的过程。 实例1:声明和调用函数sayHello()。 def sayHello(): #定义函数sayHello print('Hello World!’) #函数体 print('这是一个例题。’) #函数体 sayHello() #调用函数sayHello 运行结果: Hello World! 这是一个例题。 实例2: 2、内置函数 3、模块函数和import语句 通过import语句,可以导入module,然后使用module.function()的形式调用模块中的函数。例如: import math math.sin(2) 相当于 form math import sin Sin(2) 4、输入和输出函数 input()函数提示用户输入 print()函数用于输出 例题:使用内置的输入输出函数实现用户交互 import datetime sName=input('请输入你的姓名:’) birthyear=int(input('请输入你的出生年份:’)) age=datetime.date.today().year- birthyear print('你好!%s。你%d岁。’%(sName,age)) 5、运行时提示输入密码 需要提示用户输入密码,可以使用模块getpass,以保证用户输入的密码在控制台不回显,getpass包括两个函数: getpass.getpass(prompt=’Password:’,stream=None) #提示用户输入密码并返回 getpass.getuser() #获取当前登录用户名 十、模块和包 导入和使用模块功能的基本形式: Import 模块名 #导入模块 模块名.函数名 #使用包含模块的全限定名称调用模块中的函数 模块名.变量名 #使用包含模块的全限定名称访问模块中的变量 例题:求解一元二次方程 import math a=1 b=5 c=6 x1=(-b+math.sqrt(bb-4ac))/(2a) x2=(-b-math.sqrt(bb-4ac))/(2a) print('方程xx+5x+6=0的解为:’,x1,x2) input和print 例题: 计算890分钟换成小时分钟 a=890 a=int(input('请输入一个整数:’)) hour=890//60 minute=890%60 print(a,'分钟可以表示为’,hour,'小时’,minute,'分钟’) print(’%d分钟可以表示为%d小时%d分钟’%(a,hour,minute)) print(str(a)+'分钟可以表示为’+str(hour)+'小时’+str(minute)+'分钟’) 最后优化: print(str(a)+'分钟可以表示为’+str(a//60)+'小时’+str(a%60)+'分钟’) Input默认输入的是字符串,要使用强制转换 小技巧: 在文件最后加上 Input(' ’) 在双击文件就可以运行了(不会闪一下就过去) |
|