day39Python

时间:2023-03-10 05:04:56
day39Python

 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:变量的会采用享元模式,我们可以看到他们地址一样

day39Python

day39Python

#基本使用

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