1.Python简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
l Python是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 PS:不用编译
l Python是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。 PS:cmd
l Python是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
l Python是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到WWW浏览器再到游戏
----------------------------------------------------------
1.2.1 Python安装
PS:和java类似要安装Python环境,同时配置环境变量和ide工具;
PS:一件式 安装,只需要
anaconda(已经包含了很多东西了)和IDE
PS:目前Python有两个版本,但是版本之间还不是太兼容,语法差别有点大
有两大系列 python 2.x
Python 3.x
---------------------Python的语法
PS:
1.句子结尾可以不加分号
2.字符串可以单引号、双引号或者换行三引号
1.3.Python基本语法
1.3.1 行和缩进
Python中,不使用括号来表示代码的类和函数定义块或流程控制。
代码块是由行缩进,缩进位的数目是可变的,但是在块中的所有语句必须缩进相同的量。
如下所示:
if True: print "True" else: print "False" |
然而,在本实施例中的第二块将产生一个错误:
if True: print "Answer" print "True" else: print "Answer" print "False" |
PS:第一句是为了防止编译中文字符错误所写的
# -*- coding:UTF-8 -*- print ('hello world');#我会报错true if True: print("true") else: print("false")#如果
1.3.2 Python引号
Python接受单引号('),双引号(“)和三(''或”“”)引用,以表示字符串常量,只要是同一类型的引号开始和结束的字符串。
三重引号可以用于跨越多个行的字符串。例如,所有下列是合法的:
word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences.""" |
1.3.3 Python注释
“#”号之后字符和到物理行是注释的一部分,Python解释器会忽略它们。
#!/usr/bin/python # First comment print "Hello, Python!"; # second comment 这将产生以下结果: Hello, Python! 注释可能会在声明中表达或同一行之后: name = "Madisetti" # This is again comment 你可以使用多行注释如下: # This is a comment. # This is a comment, too. # This is a comment, too. # I said that already. |
1.3.4 分号的使用
python中一个语句的结束不需要使用分号
如果想在一行中输入多个语句,可使用分号:
import sys; x = 'foo'; sys.stdout.write(x+""" """) |
1.4.Python的变量和集合
PS:集合中的数据都是可以为任意类型的
Python有五个标准的数据类型:
a) 数字
b) 字符串
c) 列表
d) 元组
e) 字典
f) set
python中定义变量时不需要显示指定变量类型,以下为python中变量使用的典型语法:
1.4.1变量定义和赋值
PS:变量的会采用享元模式,我们可以看到他们地址一样
#基本使用 counter = 100 # 整型 miles = 1000.0 # 浮点 name = "John" # 字符串 print counter print miles print name #多重赋值 a = b = c = 1 d, e, f = 1, 2, "john" |
1.4.2字符串的使用
str = 'Hello World!' #字符串在python中本质上是一个字符序列Seq print str # 打印整个字符串 print str[0] # 打印字符串第一个字母 print str[2:5] # 打印第3到第5个字母 print str[2:] # 打印从第3个字母到末尾 print str * 2 # 字符串重复2次 print str + "TEST" # 字符串拼接 |
1.4.3列表的使用
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print list # 打印整个列表 print list[0] # 打印第一个元素 print list[1:3] # 打印第二和第三个元素 print list[2:] # 打印第三个元素到末尾 print tinylist * 2 # 打印2次 print list + tinylist # 拼接两个list #修改list中的元素 list[0]=”python” print(list) |
将输出以下结果:
['abcd', 786, 2.23, 'john', 70.200000000000003] abcd [786, 2.23] [2.23, 'john', 70.200000000000003] [123, 'john', 123, 'john'] ['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john'] |
1.4.4元组使用
元组是类似于列表中的序列数据类型,一个元组由数个逗号分隔的值组成。
列表和元组之间的主要区别是:列表用方括号[],列表的长度和元素值是可以改变的
而元组用圆括号(),不能被更新。
元组可以被认为是只读列表。
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2) tinytuple = (123, 'john') print tuple # 打印整个元组 print tuple[0] # 打印第一个元素 print tuple[1:3] # 打印第2、3两个元素 print tuple[2:] # print tinytuple * 2 # 重复2遍 print tuple + tinytuple # 拼接 |
这将产生以下结果:
('abcd', 786, 2.23, 'john', 70.200000000000003) abcd (786, 2.23) (2.23, 'john', 70.200000000000003) (123, 'john', 123, 'john') ('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john') |
1.4.5字典
Python字典是一种哈希表型。由“键-值”对组成。
键可以是任何Python类型,但通常是数字或字符串。
值可以是任意Python的对象。
字典是由花括号括号{},可分配值,并用方括号[]访问。例如:
PS:经过验证 值就为list结构
tinydict = {'name': 'john','code': ( 'abcd', 786 , 2.23, 'john', 70.2), 'dept': 'sales'} print(tinydict['code'])
dict = {} dict['one'] = "This is one" dict[2] = "This is two" tinydict = {'name': 'john','code':6734, 'dept': 'sales'} print dict['one'] # Prints value for 'one' key print dict[2] # Prints value for 2 key print tinydict # Prints complete dictionary print tinydict.keys() # Prints all the keys print tinydict.values() # Prints all the values |
这将产生以下结果:
This is one This is two {'dept': 'sales', 'code': 6734, 'name': 'john'} ['dept', 'code', 'name'] ['sales', 6734, 'john'] |
1.4.6 set
ab={1,2,3,4,5,'xxx', ( 'abcd', 786 , 2.23, 'john', 70.2)}
定义一个set:
a={1,2,3,4,5}
print a
a.remove(3)
a.add(6)
a.union(b)
-----------------------------------------------------------
1.5.Python流程控制语法
1.5.1 if语句
var1 = 100 if var1: print "1 - Got a true expression value" print var1 var2 = 0 if var2: print "2 - Got a true expression value" print var2 print "Good bye!" #if的条件可以是数字或字符串或者布尔值True和False(布尔表达式) #如果是数字,则只要不等于0,就为true #如果是字符串,则只要不是空串,就为true |
if else
var = 100 if var == 200: print "1 - Got a true expression value" print var elif var == 150: print "2 - Got a true expression value" print var elif var == 100: print "3 - Got a true expression value" print var else: print "4 - Got a false expression value" print var print "Good bye!" |
嵌套if else
var = 100 if var < 200: print "Expression value is less than 200" if var == 150: print "Which is 150" elif var == 100: print "Which is 100" elif var == 50: print "Which is 50" elif var < 50: print "Expression value is less than 50" else: print "Could not find true expression" print "Good bye!" |
1.5.2 while循环
count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5" |
1.5.3 for循环
# 求素数 for num in range(10,20): for i in range(2,num): if num%i == 0: j=num/i print '%d equals %d * %d' % (num,i,j) break else: print num, 'is a prime number' #遍历集合 r=range(10,20) r={1,2,3,4,5} #set类型 r=["aaa",3,"c"] print(r) for num in r: print(num) r={"a":9,"b":10} print(r) for num in r.values(): print(num) |
当执行上面的代码,产生以下结果:
10 equals 2 * 5 11 is a prime number 12 equals 2 * 6 13 is a prime number 14 equals 2 * 7 15 equals 3 * 5 16 equals 2 * 8 17 is a prime number 18 equals 2 * 9 19 is a prime number |