安全学习Week2

Python

·编程语言分:机器语言、汇编语言、高级语言

·高级语言分:解释型语言(如python、编译型语言(如c

·C:预处理、编译、连接、可执行文件

·Cpython、Jython、Ipython、Pypy

·一个广泛的标准库、可扩展、互动模式

·胶水语言、脚本语言、快捷语言、快捷开发、插件语言等

·动态语言

·用缩进代替{}

·变量类型:数字、字符串、列表、元素、字典

面向对象

·编程思想:面向对象和面向过程

·简介:类、类变量、实例化、对象

·三大特性:封装、继承、多态

·子类对象的指针可以赋值给父类对象的指针

·Python中一切皆为对象

Python

Python简介

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言

Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构

·Python是一种解释型语言:开发过程中没有了编译这个环节。类似于PHP和Perl语言

·Python是交互式语言:可以在一个Python提示符>>>后直接执行代码

·Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术

·Python是初学者的语言:Python对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到WWW浏览器再到游戏

·编写中文字符 如果在ide下用#coding=utf-8

Python标识符

·以下划线开头的标识符是有特殊意义的。以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import *而导入

·Python可以同一行显示多条语句,方法是用分号;分开,如print(“Hello,”);print(“World!”)

Python基础语法

行和缩进

·学习Python与其他语言最大的区别就是,Python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断。python最具特色的就是使用缩进来写模块。

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

实例

if True:

    print("Hello,")

    print("World!")

else:

    print("dont give me hope")

if里面语句没对齐编译器会报错

多行语句

·Python语句中一般以新行作为语句的结束符

·但我们可以使用斜杠(\)将一行的语句分为多行显示 如下所示

a=1;b=2;c=3

h=a+\

     b+\

   c

print(h)

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

hope=["you give"

    ,"give up"]

print(hope[1])

Python引号

·Python可以使用引号(‘)、双引号(“)、三引号(‘’’或”””)来表示字符串,引号的开始与结束必须是相同类型的。其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

#coding=utf-8

word='词'

sentence="这不是句子"

home="""就这点字也能叫句子

    嘛"""

print(word);print(sentence);print(home);

Python注释

·python中单行注释采用#开头

#这不是注释

print(“不是”)#不是注释

·Python中多行注释使用三个单引号(‘’‘)或三个双引号(“”“)

#coding=utf-8

#这不是注释

print('不是')#这也不是注释

'''

这是

多行

注释

'''

Python空行

函数之间或类的方法之间用空行分割,表示一段新的代码开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

空行也是程序代码的一部分

#coding=utf-8

raw_input('按下enter结束,其他键继续显示\n')

同一行显示多条语句

·Python可以这同一行中使用多条语句,语句之间使用分号(;)

print输出

·print默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号,

a=1;b=2

print(a),

print(b)

多个语句构成代码组

·缩进相同的一组语句构成一个代码块,我们称之为代码组。

·像if、while、def和class这样的复合语句,首行以关键字开始,以冒号(:)结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。

a=0

b=0

if a:

        print(a)

elif b:

   print(a)

else:

    print"--"

Python变量类型

多个变量赋值

·Python允许你同时为多个变量赋值 例如:

a=b=c=1

·你也可以为多个对象指定多个变量。例如:

a,b,c=1,2,’hello’

标准数据类型

·在内存中存储的数据可以有多种类型。

·例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。

·Python定义了一些标准类型,用于存储各种类型的数据。

·Python有五个标准的数据类型:

·Numbers(数字)

·String(字符串)

·List(列表)

·Tuple(元组)

·Diction(字典)

Python数字

·数字数据类型用于存储数值。

·他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。

·当你指定一个值时,Number对象就会被创建:

a=1

b=2

·你也可以用del语句删除一些对象的引用。

·del语句的语法是:

del var1[,var2[,var3[....,varN]]]#我不理解

·你也可以通过用del语句删除单个或多个对象的引用。例如

del a

·Python支持四种不同的数字类型:

·int(有符号整型)

·long(长整型,也可以代表八进制和十六进制)

·float(浮点型)

·complex(复数)

int

long

float

complex

10

51924361L

0.0

3.14j

100

-0x19323L

15.20

45.j

-786

0122L

-21.9

9.322e-36j

080

0xDEFABCECBDAECBFBAEl

32.3e+18

.876j

-0490

535633629843L

-90.

-.6545+0J

-0x260

-052318172735L

-32.54e100

3e+26J

0x69

-4721885298529L

70.2E-12

4.53e-7j

Python字符串

·字符串或串(String)是由数字、字母、下划线组成的一串字符。

·一般记为:

s=“a1a2…an”

·它是编程语言中表示文本的数据类型。

·python的字串列表有2种取值顺序:

·从左到右索引默认0开始的,最大范围是字符串长度少1

·从右到左索引默认-1开始的,最大范围是字符串开头

·如果你要实现从字符串中获取一段字符串的话,可以使用[头下表:尾下表]来截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

比如:

d='do not give me hope'

print d[0:19]#do not give me hope

print d[-19:-1]#do not give me hop

print d[0:]#do not give me hope

print d[-19:]#do not give me hope

·加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例

d='do not give me hope'

print d+' please'

s=d+' '

print s*2

·Python列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引1到索引4的位置并设置为步长为2(间隔一个位置)来截取字符串:

      0   1.  2. 3. 4

d=['d','o','n','o','t']

            >  2  <        

print d[1:4:2]

Python列表

·List(列表)是Python中使用最频繁的数据类型。

·列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

·列表用[]标识,是python最通用的复合数据类型。

·列表中值的切割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

d=['d','o','n','o','t']

print d[:]

·加号+是列表连接运算符,星号*是重复操作。如下实例:

d=['d','o','n','o','t']

g=['g','i','v','e']

print d*2

print d+g

Python元组

·元组是另一个数据类型,类似于List(列表)。

·元组用()标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表

Python字典

·字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

·字典用”{}”标识。字典由索引(key)和它对应的值value组成

d={}

d['one']="do not give me hope"

print d.values()

print d.keys()

dictionary={'so':'see','called':'me?'}

print dictionary.values()

print dictionary.keys()

输出结果为:

['do not give me hope']

['one']

['see', 'me?']

['so', 'called']

Python数据类型转换

·有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

·以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值

函数

描述

int(x[,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

Complex(real[,imag])

创建一个复数

Python运算符#a=10 b=20

运算符

描述

实例

**

幂-返回x的y次幂

a**b为10的20次方,输出结果100000000000000000000

//

取整除-返回商的整数部分(想下取整)

9//2=4。     -9//2=-5

·整数除整数,只能得出整数。如果想要得到小数部分,把其中一个数改成浮点数即可

1.0/2=0.5

1/float(2)=0.5

Python比较运算符

·和c语言差不多这里不再赘述

Python赋值运算符

·同上 加了**=和//=

Python位运算符#a=60 b=13

·按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

运算符

描述

实例

&

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

(a&b)输出结果为12

按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1

(a|b)输出结果为61

^

按位异或运算符:当两对应的二进位相异时,结果为1

(a^b)输出结果为49

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1.~x类似于-x-1

(~a)输出结果为-61(不太理解,像是一个二进制数有俩符号位一样)

<<

左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字指定了移动的位数,高位丢弃,低位补0。

a<<2输出结果240(不太理解,可能符号位被顶走了?)

>>

右移动运算符:把>>左边的运算数的各二进位全部右移若干位,>>右边的数字指定了移动的位数

a>>2输出结果15

Python逻辑运算符

运算符

逻辑表达式

描述

实例

and

x and y

布尔“与”-如果x为False,x and y返回False,否则它返回y的计算值。

(a and b)返回20

or

x or y

布尔“或”-如果x是非0,它返回x的计算值,否则它返回y的计算值

(a or b)返回10

not

not x

布尔“非”-如果x为True,返回False。如果x为False,它返回True

not(a and b)返回False

Python成员运算符

·除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符

描述

实例

in

如果在指定的序列中找到值返回True,否则返回False

x在y序列中,如果x在y序列中返回True

not in

如果在指定的序列中没有找到值返回True,否则返回False

x不在y序列中,如果x不在y序列中返回True

Python身份运算符

·身份运算符用于比较两个对象的存储单元

is

is是判断两个标识符是不是引用一个对象

x is y,类似id(x)==id(y),如果引用的是同一个对象则返回True,否则返回False

is not

is not是判断两个标识符是不是引用自不同对象

x is not y,类似id(a)!=id(b)。如果引用的不是同一个对象则返回结果True,否则返回False

·is与==区别

·is用于判断两个变量引用对象是否为同一个(同一块内存空间),==用于判断引用变量的值是否相等。

a=[1,2,3]

b=a[:]

if a==b:

    print("YES")

if a is b:

        print("Identical")

Python运算符优先级

运算符

描述

**

指数(最高优先级)

~+-

按位翻转,一元加号和减号(最后两个的方法名为+@和-@)

*/%//

乘,除,取模和取整除

+=

加法减法

>><<

右移,左移运算符

&

位‘AND’

^|

位运算符

<= < > >=

比较运算符

= %= /= //= -= += *= **=

赋值运算符

is is not

身份运算符

in not in

成员运算符

not and or

逻辑运算符

Python条件语句

·和c差不多 除了符号 还有if while里不用加括号 这里就不赘述了

·有一个不同 elif

Python循环语句

·while可以有个else

·for循环不像c 可以用个list

语法格式如下:

for iterating_var in sequence:

statements(s)

for letter in ‘Python’:

print(“%s” %letter)

a=[‘do’,’not’,’give’]

for as in a:

print(‘%s’%as)

我的博客虽然不好 但你努力看到了这 不留下一个赞嘛0.0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值