当前位置: 首页 > wzjs >正文

如何向雅虎提交网站电子商务网站建设考试

如何向雅虎提交网站,电子商务网站建设考试,北滘禅城网站建设,无锡网站排名优化目录 一、数据类型 1、基本数据类型 2、组合数据类型 二、介绍两个函数 1、 isinstance函数 2、len函数 三、Python指针 1、指针 2、is运算符和的区别 3、列表的指针 四、函数参数的传递 1、例子一 2、例子二 五、字符串详解 1、转义字符 2、字符串的切片 3、字…

目录

一、数据类型

1、基本数据类型

2、组合数据类型

二、介绍两个函数

1、 isinstance函数

2、len函数

三、Python指针

1、指针

2、is运算符和==的区别

3、列表的指针

四、函数参数的传递

1、例子一

2、例子二

五、字符串详解

1、转义字符

2、字符串的切片

3、字符串的分割

①初级分割

②高级分割

4、字符串函数

5、字符串编码

6、字符串格式化

六、元组

1、元组的一些特点

2、元组元素的指针

3、元组赋值

4、元组的大小比较

七、用元组取代复杂分支结构


一、数据类型

在Python中主要有两种数据类型

1、基本数据类型

基本的数据类型包括:int(整型),float(浮点型),complex(复数)

2、组合数据类型

组合的数据类型包括:str(字符串),tuple(元组),list(列表),dict(字典),set(集合)

二、介绍两个函数

1、 isinstance函数

isinstance(x,y)函数用于查询数据x是否含有类型y

a = "1233456"
print(isinstance(a,str))
print(isinstance(a,int))

2、len函数

len()函数用来求组合数据类型的元素个数(长度)

a = ["123" , "hello" , "scy"]
b = "hello!!!"
print(len(a))
print(len(b))

三、Python指针

Python中,指针是一个非常重要的概念,在很多的编程语言中,都会涉及到指针,或者类似于指针的概念,而它之所以叫做指针,那么它就会像一个箭头一样,必然会指向某个地方。

1、指针

在Python中,所有的变量都是指针,也就是说,Python中所有可赋值的东西,即出现在赋值符号“=”左边的东西,都是指针

并且我们还要注意几点:

①指针即代表着内存单元的地址

②我们可以把Python的指针理解为一个“箭头”,所有的变量都是箭头,指向了内存的某个地方

③对变量进行赋值的本质,就是让这个变量(箭头)指向某个地方

当我们对变量进行赋值时,就是相当于让变量指向某处:

a = 3
b = 4

在内存中,就是这样:

当我们用一个变量对另一个变量进行赋值时,就是相当于让两个变量指向了同一个地方:

a = b

在之前的文章我们提到过,这里的“a = b”的含义相当与“把b的值赋给a”,也就是说此时a和b都等于“4”了,那么它在内存中就会变成:

2、is运算符和==的区别

当a is b 为True时,说明a和b是指向同一个地方

当a == b 为True时,说明a和b指向的地方放着相同的东西,但是a和b不一定指向相同的地方

当我们使用a = b 时,会使得a 和 b 指向同一个地方

下面我们来写一个代码证明一下:

a = [1,2,3,4]
b = [1,2,3,4]
print(a == b )
print(a is b)

我们这串代码在内存中应该是这样的:

所以结果就是:

注意!

对于int、float、complex、str、tuple类型的变量a和b,只需要关注a==b是否成立即可,因为这些数据本身不会更改,不会出现a的数值改变了,b的数值也跟着改变。

对于list、dict、set类型的变量a和b,a==b和a is b的结果都需要关注,因为这些数据本身会改变,改变了a指向的内容,b也许也会改变

3、列表的指针

列表的元素也可以赋值,因此也是指针,所以前面那张图更准确的来说应该是这样的:

四、函数参数的传递

函数参数的传递方式都是传值,也就是说形参是实际参数的一个拷贝,函数的参数也是指针,形参和实参指向了同一个地方,对形参赋值(让形参指向别的位置),不会影响实参

1、例子一

下面我们来看一个例子:

def Swap (x,y) :tmp = xx = yy = tmpreturn x,y
a = 4
b = 5print(Swap(a,b))
print(a,b)

我们来仔细观察这两个输出:

我们发现在这个Swap函数中,a和b的数值确实是被调换了,但是当我们输出a和b本身的数值的时候,发现本身没有改变,我们下面用一张图来解释一下:

当我们执行了tmp = x之后:

当我们再执行x = y 时,此时x的那个红箭头就指向了“5”,当我们再执行y = tmp的时候,就是让y的红色箭头指向了“4”,此时,我们就实现了参数的互换。

但是当我们用变量a和b去调用参数时,相当于把参数a和b附在了x和y上面,然后在函数体内部x和y实现了转换时,输出的“Swap(a,b)”实现了转化。

但是根据上述的步骤我们发现,从始至终a和b本身的值都没有发生变化

2、例子二

当我们在函数执行的过程中,改变了形参指向的地方的内容,则实参所指向的地方的内容也会发生改变:

def Swap (x,y) :tmp = x[0]x[0] = y[0]y[0] = tmpreturn x,y
a = [4,5]
b = [6,7]print(Swap(a,b))
print(a,b)

我们来看一下输出的结果:

我们发现直接输出a和b他们的数值居然也发生了变化,我们来看一下下面的图:

当我们执行了tmp = x [0]

当我们再执行x[0] = y[0] 时,x[0]变成了“6”,当我们执行y[0] = tmp时,y[0]变成了“4”,相信你们已经发现了区别,我们这次并没有改变红色的箭头(指针),而是改变了这些指针所指向的位置的内容,这时这两个就都会被改变了。

五、字符串详解

1、转义字符

我们在输入print(“......”)中的文字或符号时,可能会想输出一些特殊的符号,但是这些符号可能会被编译器识别为其他的字符,导致我们输出了不符合的东西,那么我们该怎么输入呢:

我们先来看几个简单的转义字符:

转译前转译后
\n换行
\t制表符
\"双引号
\\斜杠

我们现在来看看代码:

print ("hello\nworld\thello\"world\"yes\\")

输出:

我们有时候不希望“\”实现被转译的功能,想让他就当作一个普通字符输出,那么我们可以在“引号”前面加一个字母r

print (r"hello\nworld\thello\"world\"yes\\")

我们可以发现,里面所有的转义符都不起作用了

2、字符串的切片

字符串的切片,也叫子串(即字符串某连续的一部分

我们在Python中会用a[x:y]来对字符串进行切片,会从a[x]切到a[y](不包含a[y]的那个字符)那一部分的子串

注意!

①字符串切片是一个左闭右开的区间

②a[x: ]:终点省略就是一直取到最后一个字符

③a[ :y]:起点省略就是从第一个字符开始取

④a[x : y : z]:会从a[x]切到a[y](不包含a[y]的那个字符),但是是每z个字符取一个,最后拼起来,若z为负数,就代表倒着取

⑤x和y可以都省略,就代表从头取到尾,或者从尾取到头(看z的正负)

⑥字符串切片的用法也适用于元组和列表

3、字符串的分割

①初级分割

在之前我们提到过,我们在Python中,可以用x.split()函数对字符串x进行分割,但是我们函数的括号里是什么都没有的,这就意味着我们是默认用空白字符(空格、制表符、换行符、回车符等)来对字符进行分割的,我们其实可以在()中添加一个字符,用这个字符来作为分割符,两个相同的分隔符之间会被分割出来一个空串

看一个例子:
 

s = "helloxxxworldxxx!!!xxx!!!"
a = s.split("xxx")
print(a)

我们用“xxx”作为分割符,对字符串s进行分割:

它会根据分隔符,把字符串进行分割,并把各个子串放到一个列表中输出。

②高级分割

在上面的分割方法中,我们只能让某一固定的字符or子串作为分隔符,对字符串进行分割,或者用那几个空白字符,但是如果我们想要把一个文章进行分割,那么就需要根据文章里面所有的标段符号来进行分割,所以我们需要同时针对多个字符作为分隔符来分割文章:

我们在这里会导入re包来进行这个操作:

例子:

import rea = "hello,my name is Sue! Good morning ! hello : world ?? "
b = re.split(':|,|!|\?' ,a)
print(b)

我们把字符串a中的所有的标点作为分隔符来进行分割

来看看效果:

4、字符串函数

在Python中有很多关于字符串的函数:

s.count(x):求字符串s中x出现的次数

len(s):求字符串s的长度

s.upper()  /  s.lower():把字符串中的字符转化大写 / 小写

s.find(x)  /  s.index(x):查找字符串s中是否含有x

①rfind()和rindex()函数用于用字符串的尾部开始查找

②虽然这两个都是关于查找的函数,但是略有一点不同,即在于这两个函数在遇到错误时的返回值不同

我们下面来用代码看一下:

先用find函数来查找一个字符串中不包含的子串:

s = "hello world!"
a = s.find("scy")
print(a)

find函数发现字符串中不包含所要查询的子串时,会返回-1

当我们用index函数进行同样的操作时,我们会发现有不一样的结果:

s = "hello world!"
b = s.index("scy")
print(b)

程序最终会报错!

利用这个特点我们可以结合前面说到的异常处理,用try和except,这样当报错时进行对应的代码执行

s = "hello world!"try :b = s.index("scy")
except Exception as e :print(e)    #将异常对象存储在变量e中

输出:

③find函数还可以从指定的起点查找:

s = "hello world!"
a = s.find("he" , 2)
#从下角标为2的元素开始查找he子串
print(a)
#输出为-1

s.replace(x,y):把字符串s中的x都替换成y

isdigit():判断字符串是否是数字

islower() / isupper() :判断字符串中是不是都是小写 / 大写

startswith() /  endswith():判断字符串是否以某一个子串开头or结尾

strip():去除字符串头尾的空白字符

lstrip():去除字符串左端的(头部的)空白字符

rstrip():去除字符串右端的(尾部的)空白字符

5、字符串编码

字符串的编码在内存中的编码是Unicode的,写入文件时,可能是gbk或者utf-8

ord():字符转化为编码

chr():编码转化为字符

6、字符串格式化

我们下面会介绍两种格式化方法:

①使用format

a = "hello {0} {1:10}, you get ${2:0.4f}".format("Mr.","Mike",6.2)
print(a)

输出:

{0}代表选取后面下角标为0的元素

{1:10}代表选取下角标为1的元素,并且总共要占10个字符宽度(宽度是10),不足10个就用空格补全

{2:0.4f}代表选取下角标为2的元素,宽度是0,并且要保留四位小数

②使用%

print("Today is %s. %d." %('May' , 21))

六、元组

元组和列表在很多地方都有相似之处,我们下面会来详细的了解一下元组:

1、元组的一些特点

一个元组是由数个逗号分割的值组成,前后可加括号

a = 123456 , 000 , "hello"

这就是一个简单的元组,和列表相似,里面可以是数字,也可以字符串

如果我们想创建一个空元组,直接写一个括号即可

注意在代码中区分字符串和元组,如果末尾有逗号,就是元组,没有就是字符串,如果区分错误,可能会导致我们某些数据分析错误

来看一个简单的例子:

a = "hello" ,
b = "hello"
print(type(a))
print(type(b))
print(len(a))
print(len(b))

输出:

可以看到,仅仅是一个逗号的差别,就是两个不同的数据类型,因为数据类型的不同,所以他们的某些数据也会不一样,比如说测量其长度(见上)

我们可以用之前遍历查找列表中的元素一样,对元组的元素进行查找,但是元组有以下的一些特殊之处:

元组不能修改,即不可增加,删除元素,不可对元素进行赋值,不可改变元素的顺序

a = 123456 , 000 , "hello"
a[0] = 5

像上面的这个例子,最终会导致程序报错,因为元组中的元素是不可以被修改的

我们虽然不能修改元组的元素,但是我们可以用加号把两个元组进行连接

2、元组元素的指针

我们现在已经知道,元组中的元素不可修改,但是我们现在要详细的对这句话进行解析!

这里说的元素不可修改,指的是不能改变元组的元素的指向(就相当于箭头),但是变元组元素指向的内容是可能被修改的

首先,我们先要知道,元组内部是由若干元组组成,这些元素不仅可以是数字,字符,甚至可以是一个列表,甚至是一个元组

我们来看一个简单的例子:

a = (123456 , 000 , "hello" , [2,"scy"])
a[3][1] = "scyscy"
print(a)

上面的元组中,最后一个元素是一个列表,众所周知,列表是可以更改的,所以我们对这个列表进行更改,就相当于改变了这个元素的指针所指向位置的内容,但是没有改变指针,所以这个最后是会被执行成功的!

3、元组赋值

在给元组赋值时,我们要注意元组和指针的关系:

来看一个简单小例子:

x = (1 ,2 ,3)
b = x
print(b is x)   #判断是不是指向了同一个地方
#————————第一部分————————————
x += (100,) #相当于新建了一个元组
print(x)
print(b)
#————————第二部分————————————

我们先看看第一部分是内存中是怎样体现的:

当我们执行了第二部分的“x += (100,)”时,就相当于在内存中创建了一个新的地址,里面有(1,2,3,100)这个内容,而x的指针也将会指向这个内容:

我们再来看看内部的变化:

4、元组的大小比较

两个元组比大小,就是把每个元组的元素逐个比对,比如a元组的第一个元素和b元组的第一个元素进行比较,直至分出胜负

如果对应的元素不可比较,就会报错:

print((1,'a',12) < (1,'b',17))
print((1,'a') < (1,'a',13))
print((2,'a') > (1,'b',13))
print((2,'a') < ('ab','b',13))

前三个运行结果都是True

最后一个会报错(无法比较)

七、用元组取代复杂分支结构

假如我们现在想写一个根据输入对应的数字,来输出星期几的程序,如果我们想用if分支语句,需要写好几个分支,如果代码和情况更复杂,就会变得更加难写,我们可以用元组来代替分支语句:

weekdays = ("星期一" , "星期二" , "星期三" , "星期四" , "星期五" , "星期六" , "星期日")n = int(input())
if n > 7 or n < 1 :print("错误!!!!!!!!!!!!")
else :print(weekdays[n-1])

以上就是Python组合数据类型的第一部分(刷新纪录,太多字了):)

http://www.dtcms.com/wzjs/594797.html

相关文章:

  • 打开山东城市建设职业学院网站最好网页游戏网站
  • 网站建设服务标语苏州企业如何建网站
  • 做饲料推广哪个网站好网站改版要重新备案
  • 珠海市企业网站制作品牌wordpress使用对象储存
  • 北京网站建设方案品牌公司家装公司网站开发方案
  • led灯 东莞网站建设电子商务专业网站建设
  • 网站建设公司有手机网站做分享到朋友圈
  • 公众号开发网站建设合同货代去什么网站开发客户
  • 网站管理人员队伍建设有待加强长沙公司网站设计
  • 域名 空间 网站制作杭州做商务网站
  • 谷歌浏览器对做网站有什么好处设计素材网排名
  • 国际 网站制作公司网站后台管理系统使用手册
  • 网站建设域名怎么收费的芜湖市建设投资有限公司网站
  • 网站怎么搬家到快云vps里面去啊工程竣工信息哪里可以查询
  • 上海专业网站优化排名网站做简历模板
  • 公司网站建设完成通知网站建设公司权威机构
  • 做营销网站推广农村创业的好项目
  • 局机关网站建设改进措施青海网站建设公司多少钱
  • 做网站傻瓜wordpress全屏动画
  • wordpress音乐站主题平面设计入门
  • 哪个公司做网站便宜网摘网站推广法
  • 单屏网站设计海南三亚8v1视频
  • 功能型网站设计手机代理网址
  • 买网站域名wordpress重新定向
  • 网站推广策划案格式及范文永久个人网站
  • 博客推广那个网站列好怎么在百度上做网站
  • 深圳龙岗区住房和建设局网站官网专业网站制作技术
  • 中山做网站联系电话搜索引擎优化入门
  • 郑州做网站建设公司排名微信怎么推广
  • 广东广州网点快速网站建设做网站的时候怎么把图片往左移