zoukankan      html  css  js  c++  java
  • Python3-Notes

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    """
    __title__ = ''
    __author__ = 'wlc'
    __mtime__ = '2017/3/13'
    """
    print("hello world!")
    import keyword
    print(keyword.kwlist)
    word = "嗨喽"
    print (word)
    #input("/n/n hello")
    import sys
    for i in sys.argv:
    print(i)
    print ('/n python 路径', sys.path)
    counter = 100
    miles = 1000.0
    name = "runoob"
    print (counter)
    print (miles)
    print (name)

    a,b,c = 1,2,"same"
    print (a,b,c)

    d = True
    print(d+1)
    #String(字符串)
    str = "Hello"
    print(str)
    print (str[0:-1])# 输出第一个到倒数第二个的所有字符
    print (str[0])# 输出第一个字符
    print (str[2:5])#输出第三个到第五个字符
    print (str[2:])#输出从第三个开始的所有字符
    print (str * 2)#输出两次
    print (str + "world")#拼接字符串
    print (str[-1],str[-5])# 输出倒数第一个和倒数第二个字符

    #List 列表
    list = ['abcd',786,2.23,'runoob',70.2]
    tinylist = [123,'runoob']

    print(list)
    print (list[0])
    print (list[1:3])#第二个到第三个
    print (list +tinylist)

    #Tuple 元组
    tuple = ('abcd',786,2.23,'runoob',70.2)
    print (tuple)

    #Set 集合
    student = {'Tom','Jim','Mark','Tom','Jack','Rose'}
    print (student)
    if('Rose'in student):
    print ('Rose 在集合中')
    else :
    print ('Rose不在集合中')

    #Set集合运算
    a = set('absderthgj')
    b = set('asdgaghjjlsd')

    print (a-b) #a,b 差集
    print (a | b) #并集
    print (a & b) #交集
    print (a ^ b) #a,b 不同时存在的元素

    #Dictionary字典
    dict = {}
    dict['one'] = "1-数据结构"
    dict[2] = "2-计算机网络"
    print (dict['one'])
    print (dict[2])
    print (dict)
    print (dict.keys())
    print (dict.values())

    '''




    注释
    '''
    """
    多行注释
    """

    print (word)
    print ("更新字符串:",word[:1] +' WLC!')
    print ("我叫 %s 今年 %d 岁" % ('WLC',23))

    errHTML = '''
    <HTML><HEAD><TITLE>
    Friends CGI Demo</TITLE></HEAD>
    <BODY><H3>ERROR</H3>
    <B>%s</B><P>
    <FORM><INPUT TYPE=button VALUE=Back
    ONCLICK="window.history.back()"></FORM>
    </BODY></HTML>
    '''
    print (errHTML)
    """
    #迭代器
    list = [1,3,4,5]
    it = iter(list)
    while True:
    try:
    print (next(it))
    except StopIteration:
    sys.exit()
    #生成器(generator)

    生成器是一个返回迭代器的函数,只能用于迭代操作
    使用yield的函数

    """


    #函数
    def area(width, height):
    return width * height
    width = 1
    height = 2

    print ("面积:%d" % area(width, height))

    # fun(a) 内部修改a:整数,字符串,元组(不可变类型) 只是修改另一个复制的对象 不会影响a本身 类似于C++ 值传递
    # fun(la) 内部修改la:列表,字典(可变类型) la 真正传递过去 函数内部修改后 外部la 也会发生变化 类似于 C++引用传递

    def changeInt(a):
    a = 10
    b = 2
    changeInt(b)
    print (b) #b未发生变化

    def changeMe(myList):
    "修改传入的列表"
    myList.append([1,2,3,4])
    print(myList)
    return
    myList = [4,5,6,7]
    changeMe(myList)
    print("函数外值:", myList) #list 发生变化

    #参数
    def printinfo(name, age = 20):
    print ("姓名:",name)
    print ("年龄:",age)
    return
    printinfo(age =10, name="Tom")#参数不需要使用指定顺序 ,python解释器可以使用参数名匹配参数值
    printinfo(name="Kitty")#如果不传参数则使用默认的参数

    def functionname(arg1, *vartuple):
    print ("输出:")
    print (arg1)
    for var in vartuple:
    print (var)
    return
    functionname(10)
    functionname(10,20,30,45,46)# 加了*的变量名会存放所有未命名的变量参数。如果函数调用时没有指定参数就是一个空元组

    #匿名函数
    """
    lambda 创建匿名函数
    lambda 只是一个表达式

    """
    sum = lambda arg1, arg2: arg1 + arg2
    print ("sum:",sum (10, 20))

    #python3 变量作用域
    """
    local 局部作用域
    enclosing 闭包函数外的函数中
    global 全局作用域
    built-in 内建作用域
    规则查找 : l->e->g->b
    """
    x = int(2.8) #内建作用域
    g_count = 0 #全局作用域

    def outer():
    o_count = 1 #闭包函数外的函数中
    def inner():
    i_count = 2 #局部作用域
    return
    return

    #全局变量 局部变量
    total = 0 #全局变量
    def sum(arg1, arg2):
    total = arg1 + arg2 #局部变量
    print("函数内部是局部变量:",total)
    return total
    sum(10,20)
    print ("函数外是全局变量:",total)

    #global nonlocal 关键字
    num = 1
    def fun1():#内部作用域修改外部作用域 若不使用global 则全局变量只是可读的 不可以修改
    global num
    print (num)
    num = 12345
    print (num)
    fun1()

    def outer1():#修改嵌套作用域 (enclosing)
    num = 10
    def inner1():
    nonlocal num
    num = 100
    print (" ",num)
    inner1()
    print (num)
    outer1()

    #数据结构
    a = [2,4,5.6,7,8,9,10.3]
    a.append(33)
    print (a)
    b = a.copy()
    print (b)
    print (a.count(1))

    #将列表当做堆栈使用
    stack = [1,23,4,6,88]
    stack.pop()
    print(stack)

    #队列
    from collections import deque
    queue = deque(["Tom","John","Michael"])
    queue.append("Terry")
    queue.popleft()
    print(queue)

    #列表推导式
    vec = [2,4,6]
    vec2 = [3,5,7]
    print ([3*x for x in vec])
    print ([[x,x**2]for x in vec])
    print ([3*x for x in vec if x >3])
    print ([x*y for x in vec for y in vec2])
    print ([vec[i]*vec2[i]for i in range(len(vec2))])

    #嵌套列表解析

    matrix = [[1,2,3,9],[4,5,6,8],[7,8,9,5]]# 3*4 变为4*3
    print ([[row[i]for row in matrix]for i in range(4)])

    # del语句
    del matrix[0]
    print (matrix)

    #元组和序列
    t = 123,456,'tom' #元组在输出时候是有括号的
    print(t[0])
    print (t)

    #集合
    #字典
    for k,v in dict.items():
    print(k,v)
    dict2 = ['name','question','color']
    dict3 = ['blue','red','write']
    for aa,bb in zip(dict2, dict3):
    print ('{0}.{1}'.format(aa,bb))
    for i in reversed(range(1,10,2)):#逆序遍历
    print (i)

    #模块:包含你定义的函数和变量 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。
    import sys
    print (dir(sys)) #找到模块定义的所有名称

    #输入与输出
    for x in range (1,8):# rjust 方法可以让字符串靠右对其并且左边添加空格
    print (repr(x).rjust(2),repr(x*x).rjust(3), end=' ')
    print (repr(x**3).rjust(4))
    for x in range (1,8):
    print ('{0:2d}{1:3d}{2:4d}'.format(x,x**2,x**3))
    #str = input("请输入:")
    #print (str)

    #读和写文件
    #f = open("D:/FavoriteVideo/readme.txt","r")
    #f.write("python is good! " + str)
    #str = f.read()
    #print(str)
    #str = f.readlines()
    #print(str)

    #pickle 模块
    import pickle
    """
    selffile = [1,2,3]
    selffile.append(selffile)
    output = open('D:/FavoriteVideo/data.pkl','wb')
    pickle.dump(dict,output)
    pickle.dump(selffile,output,-1)
    output.close()
    """
    import pprint
    pkl_files = open('D:/FavoriteVideo/data.pkl','rb')
    data = pickle.load(pkl_files)
    pprint.pprint(data)
    data2 = pickle.load(pkl_files)
    pprint.pprint(data2)
    pkl_files.close()
  • 相关阅读:
    暑假学习笔记(一)——初识Neo4j和APICloud入门
    置信规则库学习记录——1
    博客整理——宣传文案
    博客整理——软件工程实践总结
    博客整理——Alpha版冲刺
    博客整理——事后诸葛亮
    面试被企业拒绝后还有必要再申请吗?
    MapReduce分布式算法
    水题系列二:PhoneNumbers
    水题系列一:Circle
  • 原文地址:https://www.cnblogs.com/wlc297984368/p/6753564.html
Copyright © 2011-2022 走看看