3.23

【HTML】 超文本标记语言

第一个Html文档 欢迎访问 deerchao的个人网页! 所有的HTML文档都应该有一个标签,标签可以包含两个部分:和。 标签用于包含整个文档的一般信息,比如文档的标题(标签用于包含标题),对整个文档的描述,文档的关键字等等。文档的具体内容就要放在<body>标签里了。 <a>标签用于表示链接,在浏览器(如IE,Firefox等)中查看HTML文档时,点击<a>标签括起来的内容时,通常会跳转到另一个页面。这个要跳转到的页面的地址由<a>标签的href属性指定。上面的<a href="http://deerchao.net">中,href属性的值就是http://deerchao.net。 <p>如果想在正文里使用尖括号(或者大与号小与号,总之是同一个东西),必须使用字符转义,也就是说转换字符的原有意义。<应该使用<代替,>则使用>,至于&符号本身,则应该使用&替代</p> <p>标签本质上是对它所包含的内容的说明,可能会有属性,来给出更多的信息。比如<img>(图片)标签有src属性(用于指明图片的地址),width和height属性(用于说明图片的宽度和高度) HTML文档里所有的空白符(空格,Tab,换行,回车)会被浏览器忽略,唯一的例外是空格,对空格的处理方式是所有连续的空格被当成一个空格,不管有一个,还是两个,还是100个。之所以有这样的规则是因为忽略空白符能让使用HTML的作者以他觉得最方便的格式来排列内容,比如可以在每个标签开始后增加缩进,标签结束后减少缩进。由于英语文本中空格用得很普遍(用于分隔单词),所以对空格做了这样的特殊处理。如果要显示连续的空格(比如为了缩进),应该用 来代表空格。</p> <p>最常用的标签可能是<font>了,它用于改变字体,字号,文字颜色。 点击查看效果 <font size="6">6</font> <font size="4">4</font> <font color="red" size="5">红色的5</font> <font face="黑体">黑体的字</font> 加粗,下划线,斜体字也是常用的文字效果,它们分别用<b>,<u>,<i>表示: 点击查看效果 <b>Bold</b> <i>italic</i> <u>underline</u> 还有一些标签,用来指出包含的文本有特殊的意义,比如<abbr>(表示缩写),<em>(表示强调),<strong>(表示更强地强调),<cite>(表示引用),<address>(表示地址)等等。这些标签不是为了定义显示效果而存在的,所以从浏览器里看它们可能没有任何效果,也可能不同的浏览器对这些标签的显示效果完全不同。</p> <p>在HTML里,用来表示标题的标签有:<h1>,<h2>,<h3>,<h4>,<h5>,<h6>,它们分别表示一级标题,二级标题,三级标题...</p> <hr>标签用于在页面上添加横线。可以通过指定width和color属性来控制横线的长度和颜色。 <hr width="90%" color="red" /> <img>标签用于在页面上添加图片,src属性指定图片的地址,如果无法打开src指定的图片,浏览器通常会在页面上需要显示图片的地方显示alt属性定义的文本。 <img src="http://www.w3.org/Icons/valid-xhtml10" alt="图片简介" /> <p>超级链接用<a>标签表示,href属性指定了链接到的地址。<a>标签可以包含文本,也可以包含图片。 <a href="http://deerchao.net">deerchao的个人网站</a> <a href="http://validator.w3.org"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="验证HTML" /></a></p> <p>由于HTML文档会忽略空白符,所以要想保证正常的分段换行的话,必须指出哪些文字是属于同一段落的,这就用到了标签<p>。</p> <p>这是第一段。</p> <p>这是第二段。</p> 也有人不用<p>,而用<br>。<br>只表示换行,不表示段落的开始或结束,所以通常没有结束标签。 <p>这是第一段。<br> 这是第二段。<br /> 这是第三段。 有时,要把文档看作不同的部分组合起来的,比如一个典型的页面可能包括三个部分:页头,主体,页脚。<div>标签专门用于标明不同的部分:</p> <div>页头内容</div> <div>主体内容</div> <div>页脚内容</div> <p>TML文档在浏览器里通常是从左到右,从上到下地显示的,到了窗口右边就自动换行。为了实现分栏的效果,很多人使用表格(<table>)进行页面排版。</p> <table>标签里通常会包含几个<tr>标签,<tr>代表表格里的一行。<tr>标签又会包含<td>标签,每个<td>代表一个单元格。 <table> <tr> <td>2000</td><td>悉尼</td> </tr> <tr> <td>2004</td><td>雅典</td> </tr> <tr> <td>2008</td><td>北京</td> </tr> </table> <tr>标签还可以被<table>里的<thead>或<tbody>或<tfoot>包含。它们分别代表表头,表正文,表脚。在打印网页的时候,如果表格很大,一页打印不完,<thead>和<tfoot>将在每一页出现。 <th>和<td>非常相似,也用在<tr>里边,不同的是<th>代表这个单元格是它所在的行或列的标题。 <table> <thead> <tr><th>时间</th><th>地点</th></tr> </thead> <tbody> <tr><td>2000</td><td>悉尼</td></tr> <tr><td>2004</td><td>雅典</td></tr> <tr><td>2000</td><td>北京</td></tr> </tbody> </table> <p>表格用于表示二维数据(行,列),一维数据则用列表表示。列表可以分为无序列表(<ul>),有序列表(<ol>)和定义列表(<dl>)。前两种列表更常见一些,都用<li>标签包含列表项目。 无序列表表示一系列类似的项目,它们之间没有先后顺序。</p> <ul> <li>苹果</li> <li>桔子</li> <li>桃</li> </ul> 有序列表中各个项目间的顺序是很重要的,浏览器通常会自动给它们产生编号。 <ol> <li>打开冰箱门</li> <li>把大象赶进去</li> <li>关上冰箱门</li> </ol> <p>最后谈一下框架,曾经非常流行的技术,框架使一个窗口里能同时显示多个文档。主框架页里面没有<body>标签,取代它的是<frameset>。</p> <frameset>标签的属性Rows和Cols用于指定框架集(frameset)里有多少行(列),以及每行(列)的高度(宽度)。 <frameset>标签可以包含<frame>标签,每个<frame>标签代表一个文档(src属性指定文档的地址)。 如果觉得这样的页面还不够复杂的话,还可以在<frameset>标签里包含<frameset>标签。 <frameset rows="15%,*"> <frame src="top.html" name=title scrolling=no> <frameset cols="20%,*"> <frame src="left.html" name=sidebar> <frame src="right.html" name=recipes> </frameset> </frameset> <p>【动态创建类】 动态创建类 Hello = type('Hello', (object,), dict(hello=fn)) # 创建Hello class 1.class的名称; 2.继承的父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple的单元素写法(,); 3.class的方法名称与函数绑定,这里我们把函数fn绑定到方法名hello上。</p> <p>【错误处理】 try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e: print('except:', e) finally: print('finally...') print('END') 当我们认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。 还可以有多个except来捕获不同类型的错误: try: print('try...') r = 10 / int('a') print('result:', r) except ValueError as e: print('ValueError:', e) except ZeroDivisionError as e: print('ZeroDivisionError:', e) finally: print('finally...') print('END')</p> <p>如果没有错误发生,可以在except语句块后面加一个else,当没有错误发生时,会自动执行else语句: try: print('try...') r = 10 / int('2') print('result:', r) except ValueError as e: print('ValueError:', e) except ZeroDivisionError as e: print('ZeroDivisionError:', e) else: print('no error!') finally: print('finally...') print('END')</p> <p>Python的错误其实也是class,所有的错误类型都继承自BaseException,所以在使用except时需要注意的是,它不但捕获该类型的错误,还把其子类也“一网打尽”。比如: try: foo() except ValueError as e: print('ValueError') except UnicodeError as e: print('UnicodeError') 第二个except永远也捕获不到UnicodeError,因为UnicodeError是ValueError的子类,如果有,也被第一个except给捕获了。 Python所有的错误都是从BaseException类派生的, 使用try...except捕获错误还有一个巨大的好处,就是可以跨越多层调用,比如函数main()调用foo(),foo()调用bar(),结果bar()出错了,这时,只要main()捕获到了,就可以处理: def foo(s): return 10 / int(s)</p> <p>def bar(s): return foo(s) * 2</p> <p>def main(): try: bar('0') except Exception as e: print('Error:', e) finally: print('finally...') 也就是说,不需要在每个可能出错的地方去捕获错误,只要在合适的层次去捕获错误就可以了。这样一来,就大大减少了写try...except...finally的麻烦。 Python内置的logging模块可以非常容易地记录错误信息:</p> <h1 class="heading">err_logging.py</h1> <p>import logging</p> <p>def foo(s): return 10 / int(s)</p> <p>def bar(s): return foo(s) * 2</p> <p>def main(): try: bar('0') except Exception as e: logging.exception(e) #!!!!!!!!!!!! main() print('END')</p> <p>1、函数要手动传self,方法不用传self 2、如果是一个函数,用类名去调用,如果是一个方法,用对象去调用 举例说明:</p> <p>class Foo(object): def <strong>init</strong>(self): self.name="haiyan" def func(self): print(self.name)</p> <p>obj = Foo() obj.func() Foo.func(obj)</p> <p>判断函数和方法的方式</p> <p>from types import FunctionType,MethodType obj = Foo() print(isinstance(obj.func,FunctionType)) #False print(isinstance(obj.func,MethodType)) #True #说明这是一个方法</p> <p>print(isinstance(Foo.func,FunctionType)) #True #说明这是一个函数。 print(isinstance(Foo.func,MethodType)) #False</p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值