Python简单教程(第01章---第04章)

1. Python综述

1.1 python是什么

在这里插入图片描述

1.2 python的发展

  • Python 是由 Guido van Rossum(龟叔) 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

  • Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

1.3 python的特点

易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

易于阅读:Python代码定义的更清晰。

易于维护:Python的成功在于它的源代码是相当容易维护的。

一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

数据库:Python提供所有主要的商业数据库的接口。

GUI编程:Python支持GUI可以创建和移植到许多系统调用。

可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

2.Python3安装

2.1 python3 和 python2的区别

Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。

为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。

许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。

为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。

新的Python程式建议使用Python 3.0版本的语法。

除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。目前不支援Python 3.0的第三方库有Twisted, py2exe, PIL等。

Python 3.0 在 print函数、Unicode编码、除法运算、数据类型和异常等方面都与2.X版本有所变化。

2.2 python3环境的安装(以windows为例)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 Anaconda 安装(可选)

在这里插入图片描述

3. Python基本语法

3.1 编码

在这里插入图片描述

3.2 标识符

在这里插入图片描述

3.3 注释

在这里插入图片描述

3.4 关键子和保留字

在这里插入图片描述

简介:

	1.and:表示逻辑‘与’
	2.del:用于list列表操作,删除一个或者连续几个元素。
	3.from:导入相应的模块,用import或者from...import
	4.not:表示逻辑‘非’
	5.whilewhile循环,允许重复执行一块语句,一般无限循环的情况下用它
	6.as:as单独没有意思,是这样使用:with....as用来代替传统的try...finally语法的。
	7.elif:if配合使用的,if语句中的一个分支用elif表示。
	8.global :定义全局变量
		例如:
		name = 10
		age = 20
		def test():
			global name
			age = 30
			name = 'aa'
			#print(name)
		test()
		print(name)		# 'aa'
		print(age)		# 20

	9.or:表示逻辑“或”
	10.with:和as一起用,使用的方法请看as,见with
	11.assert:表示断言(断言一个条件就是真的,如果断言出错则抛出异常)用于声明某个条件为真,如果该条件不是真的,则抛出异常:AssertionError

		v1 = 10
		v2 = 20
		assert(v1 > v2)

	12.else:参考下面if的解释
	13.ifif语句用于选择分支,依据条件选择执行那个语句块。(if语句中最好不要嵌套if语句,建议把嵌套的if语句写在另一个函数中)
	14.pass:pass的意思就是什么都不做
	15.yield:用起来和return很像,但它返回的是一个生成器
	16.break:作用是终止循环,程序走到break的地方就是循环结束的时候。
	17.except:和try一起使用,用来捕获异常。
	18.import:用来导入模块,有时这样用from....import
	19.class:定义类
	20.in:查找列表中是否包含某个元素,或者字符串a是否包含字符串b。
	21.raise:raise可以显示地引发异常。一旦执行raise语句,后面的代码就不执行了
	22.continue:跳过continue后面循环块中的语句,继续进行下一轮循环。
	23.finally:看到finally语句,必然执行finally语句的代码块。
	24.is:Python中的对象包含三要素:id、type、value,用来判断对象是否相等
	25.return:用于跳出函数,也可以在跳出的同时返回一个值。
	26.def:用于定义方法
	27.forfor....in 一起使用:它在一序列的对象上递归,就是遍历队列中的每个项目
	28.lambda:即匿名函数
	29.try:出现在异常处理中,使用格式为:try...except,try中放想要执行的语句,except捕获异常
	30.nonlocal:nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量
		例如:
		def make_counter(): 
	    	count = 0 
			def counter(): 
				nonlocal count 
				count += 1 
				return count 
	    	return counter 
		       
		def make_counter_test(): 
			mc = make_counter() 
			print(mc())
			print(mc())
			print(mc())
		make_counter_test()

3.5 行和缩进

  • 学习 Python 与其他语言最大的区别就是,Python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断。

  • python 最具特色的就是用缩进来写模块

  • 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

例如:
		if True:
			print "True"
		else:
			print "False"

3.6 多行语句

Python语句中一般以新行作为语句的结束符。但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

	total = item_one + \
		        item_two + \
		        item_three
		print('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\
				aaaaaaaaaaaaaaaaaaaa')

语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

		days = ['Monday', 'Tuesday', 'Wednesday',
				'Thursday', 'Friday']

3.7 python的引号

Python 可以使用引号( ’ )、双引号( " )、三引号( ‘’’ 或 “”" )表示字符串,引号的开始与结束必须的相同类型的。

  • 其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。
word = 'word'
		sentence = "这是一个句子。"
		paragraph = """这是一个段落。
		包含了多个语句"""

3.8 Python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

3.9 等待用户输入

执行下面的程序在按回车键后就会等待用户输入:
input(“\n\n按下 enter 键后退出。”)

3.10 同一行显示多条语句

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:
x = ‘runoob’;print(x + ‘\n’)

3.11 多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。
例如:

		if expression : 
		   suite
		elif expression : 
		   suite 
		else : 
		   suite

3.12 Print 输出

在这里插入图片描述

3.13 import 与 from…import

在这里插入图片描述
在这里插入图片描述

3.14 命令行参数

在这里插入图片描述

4. 基本数据类型

4.1 变量赋值

![在这里插入图片描述](https://img-blog.csdnimg.cn/4528442f53f74724ad88def5173a91b2.png

4.2 多变量赋值

在这里插入图片描述

4.3 标准数据类型

在这里插入图片描述

4.4 Number

在这里插入图片描述

4.1.1 函数

	type(a)				# 判断数据类型
	isinstance(a,int)	   # 判断数据是否属于某类型
	del var1,var2		# 手动GC

区别:
(1) type()不会认为子类是一种父类类型
(2) isinstance()会认为子类是一种父类类型

例如:

			class A:
				pass
			class B(A):
				pass
			print(type(A()) == A)
			print(type(B()) == A)
			print(isinstance(B(),A))
			print(isinstance(B(),A))

4.1.2 进制

在这里插入图片描述

4.1.3 数学函数

在这里插入图片描述
在这里插入图片描述

(2) 随机数函数

	随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

在这里插入图片描述

(3) 三角函数

在这里插入图片描述

(4) 数学常量

在这里插入图片描述

4.5 String

Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。下标从0开始。
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的数字为复制的次数。

(1)字符串截取

在这里插入图片描述
在这里插入图片描述

(2)字符串打印

Python 使用反斜杠()转义特殊字符,
如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:

print('Ru\noob')
		Ru
		oob
		print(r'Ru\noob')
		Ru\noob

(3)字符串获取

print(str[0])

注意:
	1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
	2、字符串可以用+运算符连接在一起,用*运算符重复。
	3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
	4、Python中的字符串不能改变。
		str = 'abcdef'
		str[0] = 's'	# 报错
	5、Python 没有单独的字符类型,一个字符就是长度为1的字符串。

4.6 List

List(列表)是Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。
列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号[]之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

定义:

		list = [0,1,2,3,'c']
		list[0]			# 0
		len(list)		# 长度5
		list[0:3]		# [0,1,2]

注意:
1、List写在方括号之间,元素用逗号隔开。
2、和字符串一样,list可以被索引和切片。
3、List可以使用+操作符进行拼接。
4、List中的元素是可以改变的。
5、不支持与或非运算

4.7 Tuple

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

定义:

		t = (0,1,2,3,'c')
		t[0]			# 0
		len(list)		# 长度5
		t[0:3]			# (0,1,2)
		t[0] = 2		# 报错

注意:

1、与字符串一样,元组的元素不能修改。虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
			list = [0,2,1,3]
			t = (0,1,2,3,list)
			t[0] = 1			# 报错
			t[4][0] = 1
			print(t[4])			# ok

2、元组也可以被索引和切片,方法一样。
3、注意构造包含0或1个元素的元组的特殊语法规则。

  • tup1 = () # 空元组
  • tup2 = (20,) # 一个元素,需要在元素后添加逗号

4、元组也可以使用 + 或 * 操作符进行拼接。

4.8 Set

集合(set)是由一个。合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

	parame = {value01,value02,...} 或者 set(value)

		s = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
		print(s)					# {'Mary', 'Jack', 'Rose', 'Tom', 'Jim'}

		s = set('1b1b2b3b2b')		# {'2', '3', '1', 'b'}

		set操作:
			# set可以进行集合运算
			a = set('abracadabra')
			b = set('alacazam')
			 
			print(a)
			>>> {'b', 'a', 'c', 'r', 'd'}
			print(a - b)     # a和b的差集
			>>> {'b', 'd', 'r'}
			print(a | b)     # a和b的并集
			>>> {'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
			print(a & b)     # a和b的交集
			>>> {'a', 'c'}
			print(a ^ b)     # a和b中不同时存在的元素
			>>> {'l', 'r', 'z', 'm', 'b', 'd'}

4.9 Dictionary(字典)

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

字典创建:
			(1) d = {"a":1,"b":2,"c":3}
			(2) d = dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
			(3) d = {x:x**2 for x in (2, 4, 6)}
			(4) d = dict(Runoob=1, Google=2, Taobao=3)
字典操作:
			tinydict = {'name': 'guigu','code':1, 'site': 'www.atguigu.com'}
 
			print (dict['name'])			# 输出键为 'name' 的值
			print (dict['code'])			# 输出键为 'code' 的值
			print (tinydict)				# 输出完整的字典
			print (tinydict.keys())			# 输出所有键	dict_keys(['name', 'code', 'site'])
			print (tinydict.values())		# 输出所有值 dict_values(['guigu', 1, 'www.atguigu.com'])

4.10 python类型转换

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值