精华内容
下载资源
问答
  • python是缩进的语法,跟前端的sass语法类似,强缩进。每个冒号后一行需要进行缩进。 python是解释型的。当然也有些骚操作不在范围内。 变量类型 Numbers(数字)等于js的number String(字符串)等于js的string...

    前言

    • 以前学了后没写笔记没总结,这次总结一下。

    基础知识

    • python是缩进的语法,跟前端的sass语法类似,强缩进。每个冒号后一行需要进行缩进。
    • python是解释型的。当然也有些骚操作不在范围内。

    变量类型

    • Numbers(数字)等于js的number

    • String(字符串)等于js的string

    • List(列表)等于js的array

    • Tuple(元组)相当于只读列表

    • Dictionary(字典)等于js中对象

    • Python 中的变量赋值不需要类型声明。直接等号就可以给其自动分配合适的类型。

    保留字

    • 下面不能做变量名
    and	exec	not
    assert	finally	or
    break	for	pass
    class	from	print
    continue	global	raise
    def	if	return
    del	import	try
    elif	in	while
    else	is	with
    except	lambda	yield
    

    打印

    • print ,在py2里空格+字符串
    print("hello world")
    
    • py2:
    # 换行输出
    print x
    print y
    
    print '---------'
    # 不换行输出
    print x,
    print y,
    
    # 不换行输出
    print x,y
    
    • 等于console.log

    注释

    # 我是注释
    
    • 单行注释为井号,等于js中//
    • 多行注释可以用三个单引号或者三个双引号,这个其实是没人引用的,所以也可以等于是字符串
    '''
    这是多行注释,使用单引号。
    这是多行注释,使用单引号。
    这是多行注释,使用单引号。
    '''
    
    """
    这是多行注释,使用双引号。
    这是多行注释,使用双引号。
    这是多行注释,使用双引号。
    """
    

    编码问题

    • 主要存在与py2,需要加个头:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    • 否则中文是乱码或者查对应的码没找到报错。

    运算符

    +	加  
    -	减 
    *	乘 
    /	除 
    %	取模 
    **	幂 
    //	取整除 - 返回商的整数部分(向下取整)
    
    ==	等于 
    !=	不等于
    >	大于 
    <	小于 
    >=	大于等于
    <=	小于等于 
    
    =	简单的赋值运算符	c = a + b 将 a + b 的运算结果赋值为 c
    +=	加法赋值运算符	c += a 等效于 c = c + a
    -=	减法赋值运算符	c -= a 等效于 c = c - a
    *=	乘法赋值运算符	c *= a 等效于 c = c * a
    /=	除法赋值运算符	c /= a 等效于 c = c / a
    %=	取模赋值运算符	c %= a 等效于 c = c % a
    **=	幂赋值运算符	c **= a 等效于 c = c ** a
    //=	取整除赋值运算符	c //= a 等效于 c = c // a
    
    &	按位与运算符
    |	按位或运算符
    ^	按位异或运算符
    ~	按位取反运算符
    <<	左移动运算符
    >>	右移动运算符
    
    and	x and y	布尔"与"  
    or	x or y	布尔"或" 
    not	not x	布尔"非"  
    
    in	如果在指定的序列中找到值返回 True,否则返回 False。 
    not in	如果在指定的序列中没有找到值返回 True,否则返回 False。 
    
    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。
    

    条件语句

    a=0
    if(a==0):
        print "xx"
    else:
        print "gg"
    

    循环语句

    • while循环:
    count = 0
    while (count < 9):
       print 'The count is:', count
       count = count + 1
     
    print "Good bye!"
    

    The count is: 0
    The count is: 1
    The count is: 2
    The count is: 3
    The count is: 4
    The count is: 5
    The count is: 6
    The count is: 7
    The count is: 8
    Good bye!

    • for循环:
    fruits = ['banana', 'apple',  'mango']
    for index in range(len(fruits)):
       print '当前水果 :', fruits[index]
     
    print "Good bye!"
    

    当前水果 : banana
    当前水果 : apple
    当前水果 : mango
    Good bye!

    • 循环控制符:
    break 语句	在语句块执行过程中终止循环,并且跳出整个循环
    continue 语句	在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
    pass 语句 什么都不做,占位的。
    

    字符串

    • 可以写单引号双引号三引号。
    • 三引号类似于js中的反引号,可以多行
    • 字符串格式化,类似于console.log里的占位:
    print "My name is %s and weight is %d kg!" % ('Zara', 21) 
    
     	  %c	 格式化字符及其ASCII码
          %s	 格式化字符串
          %d	 格式化整数
          %u	 格式化无符号整型
          %o	 格式化无符号八进制数
          %x	 格式化无符号十六进制数
          %X	 格式化无符号十六进制数(大写)
          %f	 格式化浮点数字,可指定小数点后的精度
          %e	 用科学计数法格式化浮点数
          %E	 作用同%e,用科学计数法格式化浮点数
          %g	 %f和%e的简写
          %G	 %F 和 %E 的简写
          %p	 用十六进制数格式化变量的地址
    
    • unicode字符串:
    u'Hello World !'
    
    • 字符串方法:
    方法 说明
    string.capitalize() 把字符串的第一个字符大写
    string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
    string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
    string.decode(encoding=‘UTF-8’, errors=‘strict’) 以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 ‘ignore’ 或 者’replace’
    string.encode(encoding=‘UTF-8’, errors=‘strict’) 以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
    string.endswith(obj, beg=0, end=len(string)) 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
    string.expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。
    string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
    string.format() 格式化字符串
    string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常.
    string.isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
    string.isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
    string.isdecimal() 如果 string 只包含十进制数字则返回 True 否则返回 False.
    string.isdigit() 如果 string 只包含数字则返回 True 否则返回 False.
    string.islower() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回 False
    string.isnumeric() 如果 string 中只包含数字字符,则返回 True,否则返回 False
    string.isspace() 如果 string 中只包含空格,则返回 True,否则返回 False.
    string.istitle() 如果 string 是标题化的(见 title())则返回 True,否则返回 False
    string.isupper() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
    string.join(seq) 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
    string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
    string.lower() 转换 string 中所有大写字符为小写.
    string.lstrip() 截掉 string 左边的空格
    string.maketrans(intab, outtab]) maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
    max(str) 返回字符串 str 中最大的字母。
    min(str) 返回字符串 str 中最小的字母。
    string.partition(str) 有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
    string.replace(str1, str2, num=string.count(str1)) 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
    string.rfind(str, beg=0,end=len(string) ) 类似于 find() 函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。
    string.rindex( str, beg=0,end=len(string)) 类似于 index(),不过是从右边开始.
    string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
    string.rpartition(str) 类似于 partition()函数,不过是从右边开始查找
    string.rstrip() 删除 string 字符串末尾的空格.
    string.split(str="", num=string.count(str)) 以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串
    string.splitlines([keepends]) 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
    string.startswith(obj, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.
    string.strip([obj]) 在 string 上执行 lstrip()和 rstrip()
    string.swapcase() 翻转 string 中的大小写
    string.title() 返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
    string.translate(str, del="") 根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 del 参数中
    string.upper() 转换 string 中的小写字母为大写
    string.zfill(width) 返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

    Number

    • 数字转换
    int(x [,base ])         将x转换为一个整数  
    long(x [,base ])        将x转换为一个长整数  
    float(x )               将x转换到一个浮点数  
    complex(real [,imag ])  创建一个复数  
    str(x )                 将对象 x 转换为字符串  
    repr(x )                将对象 x 转换为表达式字符串  
    eval(str )              用来计算在字符串中的有效Python表达式,并返回一个对象  
    tuple(s )               将序列 s 转换为一个元组  
    list(s )                将序列 s 转换为一个列表  
    chr(x )                 将一个整数转换为一个字符  
    unichr(x )              将一个整数转换为Unicode字符  
    ord(x )                 将一个字符转换为它的整数值  
    hex(x )                 将一个整数转换为一个十六进制字符串  
    oct(x )                 将一个整数转换为一个八进制字符串  
    
    • Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。
    • cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。
    >>> import math
    >>> dir(math)
    ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
    >>>
    
    • 常用函数:
    abs(x)	返回数字的绝对值,如abs(-10) 返回 10
    ceil(x)	返回数字的上入整数,如math.ceil(4.1) 返回 5
    cmp(x, y)	如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
    exp(x)	返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
    fabs(x)	返回数字的绝对值,如math.fabs(-10) 返回10.0
    floor(x)	返回数字的下舍整数,如math.floor(4.9)返回 4
    log(x)	如math.log(math.e)返回1.0,math.log(100,10)返回2.0
    log10(x)	返回以10为基数的x的对数,如math.log10(100)返回 2.0
    max(x1, x2,...)	返回给定参数的最大值,参数可以为序列。
    min(x1, x2,...)	返回给定参数的最小值,参数可以为序列。
    modf(x)	返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    pow(x, y)	x**y 运算后的值。
    round(x [,n])	返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
    sqrt(x)	返回数字x的平方根
    
    • 随机数相关
    choice(seq)	从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
    randrange ([start,] stop [,step])	从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
    random()	随机生成下一个实数,它在[0,1)范围内。
    seed([x])	改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
    shuffle(lst)	将序列的所有元素随机排序
    uniform(x, y)	随机生成下一个实数,它在[x,y]范围内。
    
    • 数学常量
    pi	数学常量 pi(圆周率,一般以π来表示)
    e	数学常量 e,e即自然常数(自然常数)。
    

    列表

    • 大量操作都要用到它。

    访问

    list1 = ['physics', 'chemistry', 1997, 2000]
    list2 = [1, 2, 3, 4, 5, 6, 7 ]
     
    print "list1[0]: ", list1[0]
    print "list2[1:5]: ", list2[1:5]
    

    添加

    list = []          ## 空列表
    list.append('Google')   ## 使用 append() 添加元素
    list.append('Runoob')
    print list
    

    删除

    list1 = ['physics', 'chemistry', 1997, 2000]
     
    print list1
    del list1[2]
    print "After deleting value at index 2 : "
    print list1
    

    列表方法

    cmp(list1, list2)
    比较两个列表的元素
    len(list)
    列表元素个数
    max(list)
    返回列表元素最大值
    min(list)
    返回列表元素最小值
    list(seq)
    将元组转换为列表
    list.append(obj)
    在列表末尾添加新的对象
    list.count(obj)
    统计某个元素在列表中出现的次数
    list.extend(seq)
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    list.index(obj)
    从列表中找出某个值第一个匹配项的索引位置
    list.insert(index, obj)
    将对象插入列表
    list.pop([index=-1])
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    list.remove(obj)
    移除列表中某个值的第一个匹配项
    list.reverse()
    反向列表中元素
    list.sort(cmp=None, key=None, reverse=False)
    对原列表进行排序
    

    列表截取

    • 类似于slice
    >>>L = ['Google', 'Runoob', 'Taobao']
    >>> L[2]
    'Taobao'
    >>> L[-2]
    'Runoob'
    >>> L[1:]
    ['Runoob', 'Taobao']
    >>>
    

    元组

    • 元组操作和列表相当,不做说明了

    字典

    访问

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
     
    print "dict['Name']: ", dict['Name']
    print "dict['Age']: ", dict['Age']
    
    • 不可以输出字典里没有的键

    修改

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
     
    dict['Age'] = 8 # 更新
    dict['School'] = "RUNOOB" # 添加
     
     
    print "dict['Age']: ", dict['Age']
    print "dict['School']: ", dict['School']
    

    删除

    dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
     
    del dict['Name']  # 删除键是'Name'的条目
    # dict.clear()      # 清空字典所有条目
    
     
    print dict
    

    方法

    cmp(dict1, dict2)
    比较两个字典元素。
    len(dict)
    计算字典元素个数,即键的总数。
    str(dict)
    输出字典可打印的字符串表示。
    type(variable)
    返回输入的变量类型,如果变量是字典就返回字典类型。
    dict.clear()
    删除字典内所有元素
    dict.copy()
    返回一个字典的浅复制
    dict.fromkeys(seq[, val])
    创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
    dict.get(key, default=None)
    返回指定键的值,如果值不在字典中返回default值
    dict.has_key(key)
    如果键在字典dict里返回true,否则返回false
    dict.items()
    以列表返回可遍历的(键, 值) 元组数组
    dict.keys()
    以列表返回一个字典所有的键
    dict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    dict.update(dict2)
    把字典dict2的键/值对更新到dict里
    dict.values()
    以列表返回字典中的所有值
    pop(key[,default])
    删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    popitem()
    返回并删除字典中的最后一对键和值。
    

    日期

    • 日期一般引入time
    import time  # 引入time模块
     
    ticks = time.time()
    print "当前时间戳为:", ticks
    
    • 格式化:
    import time
     
    # 格式化成2016-03-20 11:45:39形式
    print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 
     
    # 格式化成Sat Mar 28 22:24:24 2016形式
    print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) 
      
    # 将格式字符串转换为时间戳
    a = "Sat Mar 28 22:24:24 2016"
    print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
    
    %y 两位数的年份表示(00-99)
    %Y 四位数的年份表示(000-9999)
    %m 月份(01-12)
    %d 月内中的一天(0-31)
    %H 24小时制小时数(0-23)
    %I 12小时制小时数(01-12)
    %M 分钟数(00-59)
    %S 秒(00-59)
    %a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366)
    %p 本地A.M.或P.M.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身
    

    函数

    def printme( str ):
    	#里面函数体
       print str
       return
    printme('hello')
    
    • 这个类似于js:
    function printme(str){
    	console.log(str)
    	return
    }
    printme('hello')
    
    • 函数内基础类型的修改是不可变的:
    def ChangeInt( a ):
        a = 10
     
    b = 2
    ChangeInt(b)
    print b # 结果是 2
    
    • 那些引用类型是可以变的除了元组:
    def changeme( mylist ):
       "修改传入的列表"
       mylist.append([1,2,3,4])
       print "函数内取值: ", mylist
       return
     
    # 调用changeme函数
    mylist = [10,20,30]
    changeme( mylist )
    print "函数外取值: ", mylist
    
    • 关键字参数,调用时声明则无视顺序
    def printinfo( name, age ):
       "打印任何传入的字符串"
       print "Name: ", name
       print "Age ", age
       return
     
    #调用printinfo函数
    printinfo( age=50, name="miki" )
    
    • 默认参数,类似于es6写法
    def printinfo( name, age = 35 ):
       "打印任何传入的字符串"
       print "Name: ", name
       print "Age ", age
       return
     
    #调用printinfo函数
    printinfo( name="miki" )
    
    • 不定长参数,类似于js中...args
    # 可写函数说明
    def printinfo( arg1, *vartuple ):
       "打印任何传入的参数"
       print "输出: "
       print arg1
       for var in vartuple:
          print var
       return
     
    # 调用printinfo 函数
    printinfo( 10 )
    printinfo( 70, 60, 50 )
    
    • 匿名函数
    # 可写函数说明
    sum = lambda arg1, arg2: arg1 + arg2
     
    # 调用sum函数
    print "相加后的值为 : ", sum( 10, 20 )
    print "相加后的值为 : ", sum( 20, 20 )
    
    • 相当于js
    const sum = (arg1,arg2)=>arg1+arg2
    sum(10,20)
    

    模块

    • 不用导出直接使用。
    • support.py
    def print_func( par ):
       print "Hello : ", par
       return
    
    • 导入:
    # 导入模块
    import support
     
    # 现在可以调用模块里包含的函数了
    support.print_func("hello")
    
    • 还可以单独导入其函数:
    from modname import name1[, name2[, ... nameN]]
    
    • 导入所有函数:
    from math import *
    
    • 这样就不需要写math.xxx来调用了。

    • 重复执行顶层代码:

    reload(module_name)
    

    py中的包

    • 包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

    • 简单来说,包就是文件夹,但该文件夹下必须存在 _init_.py 文件, 该文件的内容可以为空。_init_.py 用于标识当前文件夹是一个包。

    • 考虑一个在 package_runoob 目录下的 runoob1.py、runoob2.py、_init_.py 文件,test.py 为测试调用包的代码,目录结构如下:

    test.py
    package_runoob
    |-- __init__.py
    |-- runoob1.py
    |-- runoob2.py
    
    • _init_.py:
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    if __name__ == '__main__':
        print '作为主程序运行'
    else:
        print 'package_runoob 初始化'
    

    文件

    • 类似于fs模块
    • 写入文件
    # 打开一个文件
    fo = open("foo.txt", "w")
    fo.write( "www.runoob.com!\nVery good site!\n")
     
    # 关闭打开的文件
    fo.close()
    
    • 重命名
    import os
     
    # 重命名文件test1.txt到test2.txt。
    os.rename( "test1.txt", "test2.txt" )
    
    • 删除
    import os
     
    # 删除一个已经存在的文件test2.txt
    os.remove("test2.txt")
    
    • 创建文件夹
    import os
     
    # 创建目录test
    os.mkdir("test")
    
    • 删除文件夹
    import os
     
    # 删除”/tmp/test”目录
    os.rmdir( "/tmp/test"  )
    
    • 通过open获得的file对象,方法有:
    file.close()
    关闭文件。关闭后文件不能再进行读写操作。
    file.flush()
    刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
    file.fileno()
    返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
    file.isatty()
    如果文件连接到一个终端设备返回 True,否则返回 False。
    file.next()
    返回文件下一行。
    file.read([size])
    从文件读取指定的字节数,如果未给定或为负则读取所有。
    file.readline([size])
    读取整行,包括 "\n" 字符。
    file.readlines([sizeint])
    读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。
    file.seek(offset[, whence])
    设置文件当前位置
    file.tell()
    返回文件当前位置。
    file.truncate([size])
    截取文件,截取的字节通过size指定,默认为当前文件位置。
    file.write(str)
    将字符串写入文件,返回的是写入的字符长度。
    file.writelines(sequence)
    向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
    
    展开全文
  • Python web前端 01 HTML常用标签 一、HTML创建项目 file ---->new project -----> 输入项目名------>创建文件夹 new dicrectoty ---->建立文件 new HTML file 二、常用标签  1、注释 <!...

    Python web前端 01 HTML常用标签

    一、HTML创建项目

    file ---->new project -----> 输入项目名------>创建文件夹 new dicrectoty ---->建立文件 new HTML file

    二、常用标签

      1、注释

    <!--文档类型-->#这是HTML里面的注释,跟python中的不一样
    
    ctrl + ? #快捷注释

      2、初始标签

    <!DOCTYPE html>  #文档类型
    <html lang="en">   #根标签
    <head>                #网页头部 (双标签)
        <meta charset="UTF-8">#编码格式:utf-8 (单标签)
        <title>初始HTML </title>   #网页标题
    </head>              #网页头部结束标签
    <body>#网页主体 可视化区域
    
    </body>#网页主体结束部分
    </html> #不推荐在pycharm里面打开,最好是在文件夹里面直接打开

      3、初识HTML

    #HTML是用来描述网页的一种语言
    #不是一种编程语言(会报错),是一种标记语言(不会报错,最多就是出不来效果)
    #HTML文档包括HTML标签和纯文本
    #标记语言是一套标记标签(结束标签语言前面有斜杠)
    
    #web浏览器只是读取HTML标签,并以网页的形式显示出它们,不会显示标签,只会读取标签内的内容

      4、HTML标签

        a、标题标签

    #标题标签  h1至h6,加粗,独自占一行,h1标签通常只出现一次,有利于搜索引擎的搜索
    
    #自定义标签 h7,不给样式就是跟原来的一样,可以通过CSS样式来定义样式

        b、段落标签

    #p标签的内容会自动换行,div标签功能跟p标签一样,有首行缩进

        c、粗体标签

    #b加粗标签(物理加粗)
    #strong加粗标签(强调加粗便于搜索引擎的搜索)

        d、斜体标签

    #   em斜体标签:强调斜体,便于搜索引擎搜索
    #   i斜体标签 斜体作用
    
    #标签嵌套:实现双重功能
    <em><strong> aaa <strong><em>

        e、换行标签

    #br标签,后面加不加斜杠无所谓的,可以在段尾加任意个br标签

        f、水平线标签

    #hr标签,在内容上下出现水平线

      5、特殊符号

    &lt;     #小于号
    &gt;    #大于号
    &nbsp;#空格符号:很小的一点空格
    &emsp;#空白位:相对空格符号比较大
    &amp; # &
    &copy;#版权符号

      6、a标签

    跳转符号
    <a href="http:www.baidu.com" >去百度</a> #http必须得写,网页表示想要去的网页,标签之间必须写内容
    
    target="_self"  #默认在当前页面打开   
    target="_black" #表示用一个新页面来打开网页
    
    <a href="#" >#</a> #刷新当前页面的作用
    
    <a href="javascript:void()" >死链接</a> #这是一个死链接,不会跳转,无论什么点都不会有反应
    
    #跳转到页面内的某点(锚点)
    <a href="javascript:void(0)." name="box" >我是顶部的a标签</a>
    <a href="#box" >锚点</a> #点击锚点就会跳到顶部的 我是顶部的a标签 ;如果是跳到a标签就用name,如果是跳到其它标签就将name换成id

      7、书写规范

    #名字用小写字母
    #以英文开头,可以包含英文字母,数字,_,不能使用中文
    #驼峰命名规则
    #id命名:id只能有一个名字,而在网中相同的名字只能出现一次,相当于身份证号码一样
    #class命名:可以出现多次,而且相容的名字可以有多个,相当于人名一样

      8、图片标签

    #img标签 
    <img src="http:pic.cnblogs.com/face/u383503.jpg" alt=""> #src表示路径,可以用绝对路径,但是前面必须加http,alt表示强调内容,便于搜索引擎的搜索
    
    <img src="img/01.jpg" alt="" >#这便是相对路径
    #保存图片:图片放到lesson1下面新创建的lmg文件夹里面
    <img src="img/01.jpg" alt="" width="200" height="200">#width和height表示宽高,如果只给一个数据,另一个会等比例缩放,如果不加定义,出现的就是原宽高

      9、列表

    #无序列表 ul
    <ul>
          <li>a<li> #快捷操作ul>li*4,然后按tab就可以出现4个
    </ul>        
    #默认小黑点,可以自定义
    <ul type="square"></ul> #disc:默认小黑点,circle空心圆,square小方框
    
    #如果要去掉小黑点,在head前面加个style标签,在里面li标签,下上list-style:none
    
    #css里面的注释是/*   */
    #有序列表 ol
    
    <ol type="A" reversed start="8"></ol> #默认前面为1,2,3,4,可以用type修改前面的序号,reversed表示降序 start="8"表示从8开始
    #自定义列表 dl
    <dl>
        <dd>1<dd>
    <dl>

    三、div和span

      1、认识一下

    #无语义标签(自定义),块级元素标签
    
    #在style里面设置
    div.box1[width:100px,height=50px,background:blue]
    <span class="box1">span1</span1>
    
    下面<div class="box1">div</div>#如果是class就在上面加点,如果是id就在上面加#
    
    <div class="box1">div</div>
    <span class="box1">span1</span1>#宽度高度是由它的内容决定的,宽度由display决定,inline就是由他的内容决定
    #块级元素div display:block 独占一行,可以设置宽高,不给宽高就是浏览器的宽度,内容的高度决定的
    
    #内联元素span display:inline:可以和其他元素位于同一行,可以包括任何块和行内元素,内容撑开宽高不能设置宽高,如果想要设置,就在上面改变它的display
    
    #行内块元素 display:inline-block :块级元素可以横排展示,行内元素可以设置宽高
    
    #display:none 连同div和内容全部消失掉

     

    转载于:https://www.cnblogs.com/xuchengcheng1215/p/8611003.html

    展开全文
  • 杭州前端需要学习python来源:教育联展网 编辑:佚名 发布时间:2018-09-13现在Python的就业前景怎么样Python既是一种面向对象的编程语言又因为其简单、易学、开源、脚本语言范儿的“人设”,是一种既适合数据科学又...

    杭州前端需要学习python

    来源:教育联展网 编辑:佚名 发布时间:2018-09-13

    20180823154022_19512.jpg

    现在Python的就业前景怎么样

    Python既是一种面向对象的编程语言又因为其简单、易学、开源、脚本语言

    范儿的“人设”,是一种既适合数据科学又适合大数据技术从业者学习的语言。接下来是千锋想跟大家分析的是python就业前景,希望对大家有帮助。

    要想知道python就业前景,先来了解下Python的发展方向:

    1.Web开发

    如Flask、Django、Tornado等等,需要良好的文档阅读能力。

    2.科学计算

    3.软件开发

    如Tkinter、wxpython、PyQt、PyGTK 等等。这些图形界面库各有优缺点。

    其中PyQt普及程度要搞一些,比如说有道词典Linux版、深度截图用的就是PyQt5。有兴趣的朋友可以移步淘贴PyQt。

    4.渗透测试

    陡峭的学习曲线,需要其它如汇编、计算机网络、数据结构等基础知识。

    5.软件测试

    如Selenium、QTP等自动化测试工具。

    6.数据挖掘/大数据

    据说还需要学习其它语言,如R语言等。推荐从Scrapy入手。

    7.机器学习

    8.人工智能

    而且,如果你想学一门语言,可以从语言的适用性、学习的难易程度、企业

    方的要求几个方面考虑,从这几个角度看,学习python都没有什么可挑剔的。

    市面上有很多python培训价格为了保持低价诱惑,相继开始了视频授课,但

    是千锋教育一开始就坚持线下全程面授,坚持“用良心做教育”;千锋Python教学部的老师们精通多门编程语言,拥有丰富的开发经验,多年IT名企工

    作经验及丰富的项目实战经验!

    从语言的适用性看,除了在大数据和数据科学领域,它在web前端开发等领

    域也有广泛应用;

    从学习难易度来看,作为一个为“优雅”而生的语言,Python语法简捷而清

    晰,对底层做了很好的封装,是一种很容易上手的高级语言;

    在一些习惯于底层程序开发的“硬核”程序员眼里,Python简直就是一种“

    伪代码”。

    总之,Python是一门很好的语言,它的发展前景值得我们期待。每日测评

    每晚对学员当天知识的吸收程度、老师授课内容难易程度进行评分,老师会根据学员反馈进行分析,对学员吸收情况调整授课内容、课程节奏,让每位

    学员都可以跟上班级学习的整体节奏。

    学习系统

    为了能辅助学员掌握所学知识,火星人教育自主研发了6大学习系统,包括教学反馈系统、学习难易和吸收分析系统、网校学习、作业答辩、作业点评

    、学员综合能力评定分析等。

    末位辅导

    末位辅导队列的学员,将会得到重点关心。技术辅导老师会在学员休息时间,针对学员的疑惑进行知识点梳理、答疑、辅导。以确保知识点掌握上没有

    一个学员掉队,真正落实不抛弃,不放弃任何一个学员。

    技术辅导

    为每个就业班都安排了一名优秀的技术指导老师,不管是白天还是晚自习时间,随时解答学员问题,进一步巩固和加强课上知识。

    关怀生活

    从学员学习中的心态调整,到生活中的困难协助,从课上班级氛围塑造到课下多彩的班级活动,班主任360度暖心鼓励相伴。

    结业辅导

    小到五险一金的解释、面试礼仪的培训;大到500强企业面试实训及如何针对性地制定复习计划,面试技巧,帮助学员拿到高薪Offer。??可视化编程??

    20180816120136_32184.jpg

    可视化编程

    数据分析可以分析用户的真正需求,为公司带来更好的决策。本方向将了解

    数据分析流程(数据获取,数据清洗,数据分析,数据展示),学习常用的python数据分析库。

    01AI时代人工智能入学指南

    本课程入门课,将介绍AI**语言,人工智能核心,该怎么学,一些案例和

    算法介绍。

    · 背景介绍

    · 需要知识点介绍

    02科学计算库Numpy

    Numpy是一个基础性的Python库,为我们提供了常用的数值数组和函数,可

    用来存储和处理大型矩阵。本套课程就详细和大家介绍下Numpy的相关用法。

    · 概述· 安装

    · python List的特点· numpy登场之初见

    · numpy的容错性· numpy.array的各种初始化

    · arange介绍· linspace介绍

    · random介绍· nomal介绍

    · numpy.array的基本操作

    03数据分析处理库Pandas

    pandas是一个流行的开源Python项目,它的名称取panel data(面板数据,

    一个计量经济学的术语)和Python data analysis(Python数据分析)的意思。

    · 概述/安装· pandas快速入门

    · 实例之MovieLens电影数据分析· pandas核心数据结构

    · pandas基础运算· pandas索引

    · mock测试用例· 项目介绍

    · 视觉重构· 源码安装Lamp之MySQL安装

    · 源码安装Lnmp环境· 构造形状特辑

    · 文本样式的使用· 网格与图层的使用

    · 对齐与分布的使用

    · 源码安装Lamp环境之安装php和apache

    04可视化库Matplotlib

    matplotlib是一个基于Numpy的绘图库,本课程将详细为大家介绍可视化库

    Matplotlib在人工智能领域的相关应用。

    · 课程简介/环境搭建· Numpy简介

    · 散点图· 折线图

    · 条形图· 直方图

    · 饼状图· 箱形图

    · 颜色和样式· 面向对象 vs Matlab Style

    · 子图 subplot· 多图figure

    · 网格· 图例 legend

    · 坐标轴范围· 坐标轴刻度

    · 常用标签机过滤器· 注释

    · 文字· Tex公式

    · 工具栏· 区域填充

    · 形状· 样式 美化

    · 极坐标· 函数积分图

    · 散点条形图· 球员能力图

    · 股票K线图

    05Seaborn可视化库

    seaborn是斯坦福大学出的一个非常好用的可视化包。为了控制matplotlib

    图表的外观,seaborn模块自带许多定制的主题和高级的接口...本套课程和大家介绍的主要是Seaborn可视化库绘图方法的演示,基于模板展示可视化

    效果。

    · 介绍/安装· Seaborm图形样式

    · 去除轴刺· 暂时设置图形样式

    · 重写seaborm风格的元素· 缩放绘图元素

    · 建立调色板· 定性调色板

    · 顺序调色板· 偏离调色板

    · 设置默认调色板· 绘制单变量分布

    · 绘制双变量分布· 可视化数据集中的成对关系

    · 分类散点图· 类别内的观察分布

    · 类别内的统计估计· 绘制“宽幅”数据

    · 绘制多面板分类图· 绘制线性回归模型函数

    · 适合不同类的模型· 调整其他变量

    · 控制图大的大小和形状· 在其他情况下绘制回归图

    · 绘制小数倍的数据集· 绘制数据集中的成对关系

    怎么看待**近 Python 变成 Web 开发语言排行第二?

    回复内容:

    难道C#比PHP和Javascript靠前的问题不是更大吗?

    Web开发语言,如果HTML也算是编程语言的话,如果他也在这个榜单的话。

    谁告诉我,为什么HTML不是**?

    建议把这个问题给关了把,看了整个报告, arduino 开源硬件都成了语言类,爬虫当作 web 编程,actionscript 都可以做移动开发了,讨论下去也是浪费时间

    2015年2月编程语言排行榜,JS排名创历史纪录

    JavaScript不断走强。本月它超过了php,现在的位置排名第六。另外,Objective-C的日子似乎已经结束。一年时间,Objective-C份额下降超过5%。现在排到第四的位置,在C 之后。Objective-C之前排在第三位的位置长达超过2.5年。

    以上资源来源于DevStore

    编程语言的排行只是一个参考,每个编程语言有自己的特点,选择自己喜欢擅长的语言就是**好的

    简单看了一下也没什么人认真回答,大家基本都在吐槽这个排名。我作为一个目前靠python web开发吃饭的人就谈几点:

    1、 pyhon几乎不是为了web设计的,从python的web框架就看得出来,基本是Django一家独大,其他的几个夹缝中生存,因为python本来就小众,再拿它来做网站简直不可思议。一般用python做网络开发的人只有两种。**,不会java,PHP,这种人也不是为了做网站而做网站的,一定是网站只是一种提供服务的平台,而服务是用python写的,他懒得去学java, PHP了,就顺手做了一个python的站点。第二,这个人做的是一个平台,比如爬虫集群,大数据分析,这样的任务,Python用作一个胶水语言,可以方便整合各种开源项目,即使这个项目本来不是python写的,只是提供了python接口。现在很难想象一个依靠网络的开源项目如果不提供python接口会是什么样子,大家越是这么做,用python就越方便(胶水语言,这恰好是python创始人的本来目的)。所以很多人谈及python,但仔细看他不是用来做网站的....

    2、 我认为python排第二是意料之中的,因为去年是大数据元年,你随便问一个跟大数据靠点边的人,问他们工作用什么语言,我想python一定在这个列表**位,要说为什么?一是,因为python是动态语言,解释运行,见效快(还有一个事,我不得不提一下,我现在每天都是直接在server上编程,因为开发服务器有16核,64GB内存,以及随意存储上TB的数据,我想我的笔记本无论如何也没有这个性能,实际的业务需要就是方便的处理上TB的数据,我不可能先把这些数据**到本地,处理完再传回去。另外在本地编程再上传服务器也不现实,本地既没有开发环境也没有数据根本没法调试,另外很多大数据相关的软件在非集群的单机上功能是受限的)。现在的需求是我要在shell里编程,既没有图形界面,也不能用鼠标,那么用一个传统的静态语言简直就是自虐(这点go语言很好,他可以解释运行也可以编译运行)。python由于拥有众多网络相关的包,所以受到推崇无可厚非,我个人认为在预料之中。

    3、 **后一个“人和”的因素,就是python创始人被Google收去了,大家觉得google喜欢的东西应该是有一定道理,而google是一家网络公司。

    语言排行榜

    SELECT * FROM languages ORDERED BY market_share

    web 语言排行榜

    SELECT * FROM languages WHERE develop_for_web = 1 ORDERED BY market_share

    **居然还是java?Pythonista表示屈居于这种丑爆了的语言之后很委屈。

    JavaScript竟然不是**不科學

    我觉得web开发**流行的语言是javascript,然后是php,python怎么都不可能第2.

    按这个说法 c 也能写web啊,有何不可

    相关推荐:

    展开全文
  • 1.在项目目录创建一个叫 templates 和static 文件夹。templates放html,static放css,js ,image 2. 打开项目中的setting.py文件,在TEMPLATES中加入如下路径 3.在setting.py底部添加如下 代码 4. 在html...

    编辑工具:pycharm

    1.在项目跟目录创建一个叫 templates 和static 文件夹。templates放html,static放css,js ,image

    2. 打开项目中的setting.py文件,在TEMPLATES中加入如下路径

    3.在setting.py底部添加如下 代码

    4. 在html中引用js、images、css ,如下调用 

    5.视图中跳转页面,如下

     

     

    有不明白的,加群QQ 833077481交流

    展开全文
  • 北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼咨询电话:400-811-9990面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+...
  • 主要记录js不同 1.打印  python: print ("123")  js:document.write() 2.与或非  python:and or not  js: && || ! 3.空值  python:none  js:null 4.注释  python:以#开头  js...
  • 那么可以判断该页面可能使用了 Ajax(即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML))技术,即动态网页(是指静态网页相对的一种网页编程技术。 静态网页,随着html代码的生成,页面的...
  • 当本地master分支执行push动作的时候,服务器端会自动执行master分支的clone操作(还可以执行一些自动化脚本)...gitlab的web hooksgit hook类似。也是当项目发生提交代码、提交tag等动作会自动去调用url,这个url...
  • 今日内容博客地址:... 前端 1.什么是前端? 任何直接能够用户打交道的交互界面都可以称之为前端 2.为什么要学前端? 因为我们是Python全栈开发 软件开发架构 c/s架构 b/s架构 本质上b/s也是c...
  • <img src='xxxxxxx'> 这样的效果是一样的吧? # -*- coding: utf-8 -*- import base64 with open("C:\\User...
  • 但所谓培训“零基础”的、没有做过开发的人去学习大数据,就过家家是一样的。大数据可不是零基础就可以培训出来的,它是需要在特定环境下才能进行的,没有多少公司需要大数据的岗位,这个东西门槛很高。培训机构...
  • 但所谓培训“零基础”的、没有做过开发的人去学习大数据,就过家家是一样的。 大数据可不是零基础就可以培训出来的,它是需要在特定环境下才能进行的,没有多少公司需要大数据的岗位,这个东西门槛很高。 培训...
  • 小鱼:嗯… 行吧,透露一点点,银子有关… 小屌丝:啥啊,再具体点?? 小鱼:哈哈,你这句 “再具体点”,让我想起了曾经一个面试官,可能是能力有限,亦或者是… 在面试的时候,说的就差直接把代码+标注 写在纸...
  • 按照我的逻辑,开发有讨厌前端喜欢前端的,当然讨厌大概率是由于写不好,或者说脑回路压根就不适合干前段,随着技术的发展,大家确实是可以不碰js,html完成正儿八经的页面的,如下: 可以基于python dash来做...
  • 但所谓培训“零基础”的、没有做过开发的人去学习大数据,就过家家是一样的。大数据可不是零基础就可以培训出来的,它是需要在特定环境下才能进行的,没有多少公司需要大数据的岗位,这个东西门槛很高。培训机构...
  • 在正式开始之前,我想大家分享一下我的开发思路。 1. 首先,要有一个明确的Project的文件结构,包括文件文件夹命名、归并等。如下图是小编本次项目的结构: (1)总的项目名称是“OLab”(Our Lab的意思)。 ...
  • 但所谓培训“零基础”的、没有做过开发的人去学习大数据,就过家家是一样的。大数据可不是零基础就可以培训出来的,它是需要在特定环境下才能进行的,没有多少公司需要大数据的岗位,这个东西门槛很高。培训机构...
  • 经过了两个月的学习,终于...不得不说语言这个东西真是一通百通,在学完python后,再学JavaScript就很简单了。而且现在再看php的学习文档理解起来也很轻松了估计在日后自学PHP不是问题了。DOM还是需要一些理解后才能学j
  • 在此以博客形式记录,谨以此分享给兴趣的伙伴们!也希望大伙多多指教!需要准备什么? 首先,我们务必理解:1)什么是前端;2)什么是后端! 我们举一个例子:如上图所示是百度首页!我们输入一个HTTP地址后登录...
  • 声明:没做过后端和前端,花了一天时间,现学现卖弄好的,javascript也是现看现用,百度的程序,调试调试而已。可能有很多用法比较low的地方,用法不对,请勿见怪,有大牛感兴趣,可以自行完善。 Netease:根据歌单...
  • Python编译器实现内幕:添加一个新语句本文尝试理解Python前端的编译实现内幕,如果仅仅是读取文档,或者查看Python的实现代码,会让人感觉迷迷糊糊的,所以我的想法是动手来做一些事情:添加一个新语句until到...
  • 前端1

    2019-12-25 20:34:22
    跟python一毛钱关系都没有,逻辑较少 记忆居多。 什么是前端? 任何与用户直接打交道称为前端。 列: 电脑显示视频 手机界面 Ipad 为什么要学前端 全栈开发工程师 前后端都得会 技多不压身 如何学习前端 软件...
  • 如今前端开发的任职要求越来越高了,不仅要掌握 javascript,熟悉vue、react等各种框架,甚至连后端和 python 都得懂。前几年只要熟练...
  • 前端 HTML

    2019-05-28 21:44:00
     任何直接能够用户打交道的交互界面都可以称之为前端  2 为什么要学前端?  python全栈开发 软件开发架构  c/s架构  b/s架构  本质上b/s也是c/s架构 浏览器输入网址发生了几件事?  1 ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • Python Tornado之跨域请求与Options请求

    千次阅读 2018-12-26 00:05:23
    公司的项目是前后端分离,前端Vue+后端JavaSpringBoot为主,部分功能是PythonTornado,那么需要支持一个是跨域以及Options请求。 Option请求 只需要处理get一样处理options请求就可以了。vue一般需要访问options...
  • 今天这期的Python学习教程大家聊聊前后端分离开发,入门的先带大家熟悉掌握一遍! 在传统的Web应用开发中,大多数的程序员会将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行...
  • python初体验

    2017-02-04 23:50:30
    boolan的两个课程真是的想吐。OC完了是swift全是语法一脸懵逼,好在C++底子。虚拟机伤不起。依然要上黑苹果了 前端课程的逻辑清晰点,互动也相对好一些。 静态网页 熟悉CSS框中框有啥难得,另外不会了用开发者...
  • 暂时接手一个离职前端实习生的工作,昨天第一次对接产品,我说每天晚上要给她发送一个当天的报表。 每天?excuse me?每天?开什么国际玩笑。每天干同一个工作,这要不给整成auto的,还怎么自称屌丝程序猴。今天...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 224
精华内容 89
关键字:

python跟前端

python 订阅