Python安全开发第一章(数据类型)

  • A+
所属分类:安全开发
前言

    在Web安全领域中,Python也成了重中之重,在后期可以进行一些POC以及EXP的开发,或者一些常用小工具脚本的开发,为自己增加便捷!

    所以本人打算更新一系列Python安全开发的文章。从零到POC的编写。


1.初识数据类型

    在本人接触的这些编程语言中,可能做php或者python等开发,许多人都对数据类型没有一个大体的认识,而本人在做C++开发相关的时候,数据类型就显得尤为重要了,因为C++语法的严格,所以在定义使用一些变量的时候,都要加上数据类型,例如:

int a;//一个int类型float b;//float类型char c;//char类型

    如上可以看到,在C++中数据类型的严格性。


    而Python不同,在使用Python变量的时候,直接赋值给变量即可,例如:

a = '字符串' #string字符串类型b = 12      # int型c = True    #bool布尔类型

    大家可以看如上,为Python中变量进行赋值不同的数据类型,是非常方便和简单的。


2.    数据类型分两类

       数据类型可以分为:数字类型和组合类型

数据类型分为基础的数字类型和比较复杂的组合类型,数字类型又分为:整型、浮点型、布尔型、和复数类型组合类型:字符串 列表 元祖 字典布尔型:True False

        现在数据类型有了,而我们需要把数据类型存到“变量”里面,变量可以理解为是一个盒子,盒子里装的是数据!

补充一下,在python中打印数据类型通过 type函数例如:  a = 0  print(type(a))   #打印的是a的数据类型


        一.整形

            例如-88,11,72,99这种数字,都称为整形数据。

            如下图,我定义了三个变量,a,b,c

            a和b,赋值了一个十进制的数字,并通过print进行打印输出。

            而变量c输出的数据为22,这是因为 0x为十六进制,十六进制的16被打印出来了

            

Python安全开发第一章(数据类型)

        

        二.浮点型

            浮点型用来表示实数,比如1.23,3.14等,其实就是小数

            这里咱们不做过多深入,其实在真正开发中,很少用到一些冷门的细节,当遇到一些冷门细节在了解即可。

            如下图,可以看到,变量a为3.1415,通过type函数获取到数据类型为float

Python安全开发第一章(数据类型)

        

        三.布尔类型

            布尔类型(bool)只有True(真)和False(假),这种数据类型用的很多,True对应的整数1,False对应的整数为0。这也是一种特殊的整形。

            任何对象都要布尔属性

            None,False,任何为0的数字类型 0,0.0,空序列,空字典等,都是为False的。

            如下图,可以看到bool为空的时候,就是没数据,为False

            当随便输入个123的时候,就是为True,因为有数据,所以就是True(除了0)

           

Python安全开发第一章(数据类型)

            

    算术运算符,这里不做过多详解,其实就是一些算术方面,可以看如下图。是很简单的。

Python安全开发第一章(数据类型)



3. 数据类型转换

    常用开发中,通过会用到将数据类型进行转换

int()  将数据类型转换为整形float() 将数据类型转换为浮点型bool() 将数据类型转换为布尔类型

    例如:定义了一个float类型的变量,当转换为int的时候,可以看到舍弃了小数部分。

Python安全开发第一章(数据类型)



4.字符串类型

    字符串就是一组由字符构成的序列,

    比如,"hello" ,'hello'  可以使用双引号或单引号。

    在通俗讲,就是有引号包起来的就是字符串,这样就通俗易懂了吧

    

#合法的字符串"hello" , "pyt'hon"#多行字符串  以一对三引号或三双引号作为边界,以下就是一个多行字符串的例子:    word = """多行字符串              多行字符串"""#不合法的字符串'he'llo' "pyth"on"#不合法字符串的解决方法,'he'llo' "pyth"on"

    这里给大家留个小问题,如上,不合法的字符串错在哪里?大家自己可以思考一下?

    解决方法的话,可以使用  转义字符进行转义,解析器此时不再将单引号视为字符串的语法标志。你可以理解为,将后面的数据转义为一个正常的字符串了。这样讲解就通俗易懂了吧。

    例子,这就是字符串的使用。

Python安全开发第一章(数据类型)



5.字符串初始化

   5.1通过%s初始化

    这里可以看到 %s,代表的是字符串的意思,而%'met32',表示将%s替换为%后边的'Kter'

字符串初始化print("我叫%s"%'Kter')   %来替换sprint("我叫%s擅长%s"%('Kter','c++'))//也可以通过元组的方式替换结果:我叫Kter      我叫Kter擅长c++

     5.2通过format()初始化

        模板字符串由字符串和"{}"组成,{}的作用与%相同

 <模板字符串>.format(<参数>)  print("{}擅长的编程语言是C++".format("Kter"))  结果:Kter擅长的编程语言是C++  这里介绍几个字符串函数,比较常用的:    len(字符串)#返回字符串长度    str(参数)#转换为字符串    ord(参数)#将参数转换为ASCII的值    上面三个函数自行测试一下即可


  


6.列表,元组,字典

    

元组:由0个或多个不同元素组成的集合,()为标识,用逗号,分割    (3,'s','app')、('张三',452,{'Elric':'钢'})    列表:用[]分割,和元祖类似
字典 由多个键值组成的集合,花括号{}标识,key和value通过冒号(:)分割, 例如 {'中国':'北京','英国','伦敦'} 例子:print((3,'s','app'))print([3,'s','app'])

c = {'中国':'北京','英国':'伦敦'} #字典print(c)print(c["中国"])结果:{'中国': '北京', '英国': '伦敦'}北京

    在上方例子中,其实元组和列表很类型,存的是不同的数据类型的集合,接下来我们看字典,字典分为键和值,我们可以通过键去访问他的值,上方代码中,我定义的中国就是"键",而通过 c["键名"] 就可以访问到对应的值。这里自行测试。

         

结束语,大概常用的数据类型就这些,大家一定要跟着敲一遍,可能有部分细节没有讲到,我们用到在去了解即可。希望大家关注本公众号

                        


 微信搜索关注 "安全族" 长期更新安全资料,扫一扫即可关注安全族!

Python安全开发第一章(数据类型)



本文始发于微信公众号(安全族):Python安全开发第一章(数据类型)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: