python的学习之路一

On the learning of Python

python

python是一门非常厉害的语言,关于它的介绍,就不多说了,只要掌握了基础的语法,剩下的就是逐渐认识python的一些库,python的厉害之处就是有很多各种各样的库,把这些库组合起来,才是最强大存在。

目前python一般就是2.x版本以及3.x版本,我是学的py3.x的版本,其实两个版本差距不大,具体应用的时候,做修改就行了。这篇博客对于有一定代码基础的看起来会比较熟悉,毕竟其实也是我自己做的笔记。

0x01 语法

python文件的后缀一般就是.py,直接上代码,可以非常直观的看出语法的不同,这里拿php进行比较。

php:

<?php
$a = 123; //php在定义变量的时候需要加上$,并且以;结尾
$b = array('a','b','c','d','e');
echo $a;
echo $b;
?>

python:

a = 123 //python在定义变量的时候,不需要加任何符号,直接写就ok了,结尾也不需要分号
b = ['a','b','c','d','e']
print(a)
print(b)

好了,做个对比,一目了然。

粘上我写的第一个小程序,不过是基于2.x版本的,当时写的时候没有注意字符集,导致python3不兼容了。

# coding:utf-8
p = 1
while p:
    print('--------------小白工作室----------------')
    str = '''(1)取和\n(2)取平均值\n(3)求乘积\n(4)退出'''
    print str
    option = input('请输入对应编号:')
    if option == 1:
        s = 0
        print('请输入对数值,结束输入请输入0')
        num = input('数值:')
        while num!=0:
            s = num+s
            num = input('数值:')
        print '和为:%s' % s
    elif option == 2:
        s = 0
        i = 0
        print('请输入对数值,结束输入请输入0')
        num = input('数值:')
        while num!=0:
            s = num+s
            i = i + 1
            num = input('数值:')
        s = s/i
        print '平均值为:%s' % s
    elif option == 3:
        s = 1
        print('请输入对数值,结束输入请输入0')
        num = input('数值:')
        while num!=0:
            s = num*s
            num = input('数值:')
        print '积为:%s' % s
    elif option == 4:
        print('Program end!')
        p = False
    else:
        print('为啥不按提示来?')

现在看来确实白的不行。

0x02 python变量:

区分大小写
输入可以用:raw_input()
            input() 最好用这个,可以接收字符串
输出可以用:print
例如:
    raw_input('name:')
    print '%d fdadsad %s' % (111,'python')

一、数字: %d or %f

定义变量  数字可以不加引号 但是字符串 需要加引号
Python 区分大小写 也就是说 case 跟 Case 是有区别的
python 支持五中基本的数字类型 有三种是整形
有符号整形 1 -1 -12  123  
    长整型 10000000054646  djadjkjdhasdhkasdh  
    布尔值 True Flase
浮点值 3.1415926 2.15115
复数 6.23+1.5j   -1.23-875j
例如:a = 'sb' or a = "sb" or a = 123

二、字符串: %s

Python支持使用成对单引号或双引号,三引号(三个连续的单引号或者双引号)
    可以用来包含特殊字符。使用索引操作符[]和切片操作符[:]可以得到子字符
    串。字符串有其特有的索引规则:第一个字符串的索引是0,最后一个字符串
    的索引是-1。加好(+)用于字符串连接运算,星号(*)则用于字符串重复。
例如:
pystr = 'python'
iscool = 'is cool!'
pystr[0]
结果为:    p
pystr[2:5]
结果为:        tho
iscool[:2]
结果为:        is
iscool[3:]
结果为:        cool!
iscool[-1]
结果为:        !
pystr + iscool
结果为:        pythonis cool!
pystr * 2
结果为:        pythonpython
pystr = '''python
...is cool'''
print pystr
结果为:        python
            is cool

三、列表和元组

可以把列表跟元组当成普通的数组,它能保存任意数量任意类型的Python对象。
    和数组一样可以通过从0开始的数字索引访问元素,但是列表和元组可以存
    储不同类型的对象。
列表元素用[]包裹,元素的个数以及元素的值可以改变。元组元素用()包裹,
    但不可以更改。切片操作得到子集,与字符串操作类似。
例如:
    aList = [1,2,3,4]
    aList[0] = 5 
    aList
    结果为:        [5,2,3,4]
    aTuple = ('robots',77,93,'try')
    aTuple[1] = 5
    结果为:        报错,不执行

四、字典

字典是Python中的映射数据类型,工作原理类似于Perl中的关联数组或哈希表,
    由键-值对(key-value)构成。字典元素由{}构成。
例如:
    aDict = {'host':'earth'}
    aDict['port'] = 80
    aDict
    结果为:        {'host':'earth','port':80}
    aDict.keys()
    结果为:        ['host','port']
    for key in aDict:
    ... print key,aDict[key]
    ...
    结果为:        host earth
                port 80

五、if语句

if 条件1:
    逻辑语句
elif 条件2:
    逻辑语句
else
    逻辑语句

六、while语句

while 条件:
    逻辑语句

七、for循环

print输出语句会自带一个换行符
for item in ['e-mail','net-surfing','homework','chat']:
    print item,
print
for i in range(5):
    print i,
print

八、打开文件

handle = open(file_name,access_mode = 'r')
file_name变量包含我们希望打开的文件的字符串名字,access_mode中的'r'
    表示读,'w'表示写,'a'表示添加,'+'表示读写,'b'表示二进制访问
    如果没有提供access_mode,默认值为'r'。如果open()成功,会返回一
    个文件对象句柄,所有后续的操作都必须通过此文件操作句柄进行。

九、and

Python的and逻辑操作符可以将任意表达式连接在一起并得到一个布尔类型的值

十、函数

Python中的函数用小括号()调用。函数在调用之前必须定义。如果函数中没有
    return语句,就会自动的返回None对象。
定义函数:
    def 函数名(变量):
        执行代码
        return 返回值
例如:
    def addMe2Me(x):
        'apply + operation to argument'
        return (x+x) 
    addMe2Me([-1,'abc'])
默认参数:
    def foo(debug=Ture):
        'determine if in debug mode with default argument'
        if debug:
            print 'in debug mode'
        print 'done'
    执行结果:
        foo()
        in debug mode
        done
        foo(False)
        done

十一、类

定义类:
class ClassName(object):
    """docstring for ClassName"""
    def __init__(self, arg):
        super(ClassName, self).__init__()
        self.arg = arg

十二、模块

模块是一种住址形式,它将彼此有关系的Python代码组织到一个个独立文件当中。
    模块可以包含可执行代码,函数,和类。当你创建了一个Python源文件,模块的
    名字就是不带后缀的文件名。
导入模块:
    import 模块名
访问模块函数或模块变量:
    module.function()
    module.variable
    实例:
        import sys
        sys.stdout.write('hello word\n')

这是当时做的小笔记,可以说是非常基础了,当然我会慢慢分享我的python学习之路,虽然现在依然很菜,但是起码我是充满信心的。


未完待续。。。

PS:最近跟大佬在一块做渗透,了解了好多小知识点,疯狂的被灌下毒鸡汤,在菜鸡的路上越走越远。。。


Reprint please specify: wh1te python的学习之路一

Previous
WEB安全-常见源码泄露 WEB安全-常见源码泄露
About WEB Security About WEB Security 0x0 前言关于WEB安全,这两天做题碰到了.git源码泄露的问题,刚好自己又记得不牢,所以写了个笔记,记录下关于常见的源码泄露。 0x1 .git源码泄露当在一
2018-05-10
Next
python的学习之路三 python的学习之路三
On the learning of Python python在第一篇的时候,我就提过,python真正厉害的地方在于它的库,pytohn的库十分的多,库里各式各样的函数为我们提供了很多的方便。当你学会了python的基础语法,剩下来的
2018-05-10
TOC