Python【01】【基础部分】- A

一、WHAT'S PYTHON ?

1、python 简介

Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。
Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

2、谁在用 python

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

3、python 的种类

  • Cpython

Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

  • Jyhton

Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。

  • IronPython

Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)

  • PyPy(特殊

Python实现的Python,将Python的字节码字节码再编译成机器码。

  • RubyPython、Brython ...

 4、python 优缺点

  优点:

  * Simple Elegant Clear (简单、优雅、明确)
  * 强大的第三方库
  * 易移植
  * 面向对象
  * 可扩展
  缺点:

  * 速度慢(相对环境)
  * 代码不能加密

二、PYTHON BASE

1、安装 python 环境

For Linux:

  如果是ubuntu14.04+的版本,那么默认的python就是2.7+啦

1 tom@python:~$ cat /etc/issue
2 Ubuntu 14.04.3 LTS \n \l
3 
4 tom@python:~$ python -V
5 Python 2.7.6

   如果是centos6系列,那么请升级你的默认python到2.7+

 1 1、安装gcc,用于编译Python源码
 2     yum install gcc
 3 2、下载源码包,https://www.python.org/ftp/python/
 4 3、解压并进入源码文件
 5 4、编译安装
 6     ./configure
 7     make all
 8     make install
 9 5、查看版本
10     /usr/local/bin/python2.7 -V
11 6、修改默认Python版本
12     mv /usr/bin/python /usr/bin/python2.6
13     ln -s /usr/local/bin/python2.7 /usr/bin/python
14 7、防止yum执行异常,修改yum使用的Python版本
15     vi /usr/bin/yum
16     将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

For Windows:

1 1、下载安装包
2     https://www.python.org/downloads/
3 2、安装
4     默认安装路径:C:\python27
5 3、配置环境变量
6     【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
7     如:原来的值;C:\python27,切记前面有分号

2、python 代码的执行过程

   Call :滕兰老师说要把第一次交给“hello world”

#!/usr/bin/env python
# coding:utf-8print 'hi,yue bu ?'

 

python 文件中的代码会由解释器进行语法/词法的分析,没有问题后进行编译调入内存执行。

python在执行.py的文件时会生成一个同名.pyc的文件,这个文件是源文件编译后的字节码文件,源文件编译成自解码后再转为机器可读的二进制码交给CPU处理。

3、什么是解释器?

 解释器(Interpreter),又译为直译器,能够把高级编程语言转译运行。说白了就是一翻译(也许是最近抗战片看多了,总会联想到穿着一半日本军装的汉奸翻译* *)

4、内容编码

python解释器在读取.py文件中的代码时,会对内容进行编码(默认是ASCII)

ASCII

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

1 >>> a = 'doudou'
2 >>> type(a)
3 <type 'str'>

UNICODE

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。Unicode的出现是因为ASCII的表示空间有限。

1 >>> name = u'小花'
2 >>> type(name)
3 <type 'unicode'>
4 >>> name
5 u'\u5c0f\u82b1'
6 >>> len(name)
7 2 

UTF-8

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。针对unicode的可变长度的字符编码,在内存中字符是Unicode进行处理的,硬盘存储的时再转为utf-8。

 1 >>> name
 2 u'\u5c0f\u82b1'
 3 >>> name =name.encode('utf-8')    # 使用encode将unicode转为utf-8
 4 >>> name
 5 '\xe5\xb0\x8f\xe8\x8a\xb1'
 6 >>> len(name)
 7 6
 8 >>> name = name.decode('utf-8')    # 使用decode将utf-8转为unicode9 >>> name
10 u'\u5c0f\u82b1'
11 >>> len(name)
12 2 

 ps:在写脚本的时候默认是ASCII的编码方式,解释器读入内存的时候会转换为Unicode进行处理,如果出现中文就会提示不能识别,所以我们在写脚本的时候如果有中文,就要指定源文件以什么样的编码方式存储。

1 #!/usr/bin/env python
2 # coding:utf-8
3 
4 count = 0 

5、编程风格

python 的代码编写会遵循Simple、Elegant、Clear的风格。

缩进统一

1 开头行不能有空格
2 不同级别代码缩进不同
3 同一级别代码缩进必须相同  

6、注释

对编写的代码文件要一定的注释,保证简单、易读,方便他人方便自己。

单行注释:# *****

1 # copy and rename

多行注释/格式化输出:’’’ ****** ‘’’ 

1 '''
2 copy
3 and
4 rename ''' 

 三、流程控制

 1、python模块的调用与传参的捕获

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

1 #!/usr/bin/env python
2 # coding:utf-8
3 
4 import sys
5 print sys.argv 

2、用户交互(输入内容)

raw_input、input

需求:要求用户输入用户名密码,正确后输出欢迎信息。

 1 #!/usr/bin/env python
 2 # coding:utf-8
 3 
 4 user_name = 'tom'
 5 user_password = '123'
 6 input_name = raw_input('User Name:')    # raw_input() 默认把输入的内容当作字符串来处理
 7 input_password = input('Password:')     # input() 会将输入的内容保留原格式输出
 8 if input_name == user_name and input_password == user_password:
 9     print "Welcome to Linux!"
10 else:
11     print "Login invalid" 

getpass  用户输入内容不可见

 1 #!/usr/bin/env python
 2 # coding:utf-8
 3 
 4 import getpass      # 调用getpass模块
 5 user_name = 'tom'
 6 user_password = '123'
 7 input_name = raw_input('User Name:')
 8 input_password = getpass.getpass('Password:')    # 引用功能,使用输入内容不可见
 9 if input_name == user_name and input_password == user_password:
10     print "Welcome to Linux!"
11 else:
12     print "Login invalid"

3、if ...elif ...break/continue...else、while

需求:要求用户输入用户名密码,正确后输出欢迎信息,输错三次后退出。

 1 #!/usr/bin/env python
 2 # coding:utf-8
 3 
 4 import getpass
 5 count = 0
 6 user_name = 'tom'
 7 user_name1 = 'doudou'
 8 user_password = '123'
 9 while count < 3:    #  while 条件
10     input_name = raw_input('User Name:')
11     input_password = getpass.getpass('Password:')
12     if input_name == user_name1:
13         print "This user is not available."
14         continue      # continue 中断本次循环
15     elif input_name == user_name and input_password == user_password:
16         print "Welcome to Linux!"
17         break        # break 退出循环
18     else:
19         print "Login invalid"
20     count += 1     # 一定要注意代码块的区分与缩进   条件+1

四、数据类型

1、数据类型分类

        >>>单值:
                数字:(digital)
                    整型:(integer)
                    长整型:(long)
                    符点型:(float)
                    复数:(complex)
                    字符串:(string)
                布尔值:(boolean)
        >>>集合:
                列表:(list)
                元组:(tuple)
                字典:(dict)
                哈希表:(hash)

2、变量:(variable)

变量,不只是一个可变化的量,它是一段内存空间的命名,指向内存地址的符号链接

1 变量标识符命名规范:
2 1、标识符的第一个字符必须是字母(大小写字母)或”_”(下划线)
3 2、标识符的其它部分可以由字母、”_”、数字(0-9)组成
4 3、标识符严格区分大小写
5 4、以下关键字不能被定义为变量['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] 

定义变量与输出变量:

1 >>> a = 'source'
2 >>> a
3 'source'

变量有意思的指向

 1 >>> a = 'job'
 2 >>> b = 'name'
 3 >>> a = b
 4 >>> a
 5 'name'
 6 >>> b
 7 'name'
 8 >>> b = 'age'    # 当变量b重新定义的时候,而a并没有跟着b变化而变化,原因是:当a=b时,a的值是b所指向内存空间中的‘name’,所以当b重新定义新值的时候,a依然指向‘name’
 9 >>> a
10 'name'
11 >>> b
12 'age'

 

3、字符串(string)  

  占位符:

 1 >>> name = 'how old are you %s' % '24'            # %s (str) %d (digital)
 2 >>> name
 3 'how old are you 24'
 4 >>> mame = 'i am %s ,%d years old.' % ('xiaohua',24)    # 多个占位符,需要在后面按顺序指定多个参数,只在内在中开辟一块空间。
 5 >>> name
 6 'how old are you 24'
 7 # 也可以这样表示
 8 >>> name = 'i am %s,%d years old.'
 9 >>> name % ('xiaohua',24)
10 'i am xiaohua,24 years old.'
11 # 也可以这样表示,三种方式执行过程一样
12 >>> name = 'i am {0},age {1}'
13 >>> name.format('xiaohua',24)
14 'i am xiaohua,age 24' 

  索引/切片:

 1 >>> name
 2 'soure'
 3 >>> name[0]
 4 's'
 5 >>> name[:0]
 6 ''
 7 >>> name[0:]
 8 'soure'
 9 >>> name[-1]
10 'e' 

  长度:len()

1 >>> len(name)
2 5
3 >>> print name[-1]
4 e
5 >>> print name[len(name)-1]        # 最后一个值可以用len()做运算得到
6 e 

  去除空格:strip()

1 >>> name
2 '  home  '
3 >>> print name.strip()        # strip() 去除字符串两端的空格
4 home
5 >>> print name.lstrip()        # lstrip() 去除字符串左端的空格
6 home  
7 >>> print name.rstrip()        # rstrip() 去除字符串右端的空格
8   home 

  分割:split()

1 >>> names = 'xiaohua,xiaoli'
2 >>> names
3 'xiaohua,xiaoli'
4 >>> names.split(',')
5 ['xiaohua', 'xiaoli']        # 字符串分割后得到一个列表
6 >>> names.split('h')
7 ['xiao', 'ua,xiaoli' 

4、列表:(list)

列表是数据的集合,列表内的元素可以被查询、修改

1 >>>  b = ['job', 'salary', 'name',12,'shop','xyz','copy']        # 列表中的元素可以修改,支持增删改查
# 或 b = (['job', 'salary', 'name',12,'shop','xyz','copy']) 列表的创建会调用([])来完成
2 >>> b 3 ['job', 'salary', 'name',12,'shop','xyz','copy']

  长度: len() 可以查看列表中元素的个数

1   >>> len(b)
2   3 

  索引:NAME[N] 可以查看元素在列表中的位置

1  >>> b[0]
2 'job'
3 >>> b[1]
4 'salary'
5 >>> b[-1]      # -1就是倒数喽
6 'copy'

  切片(slice) 切片指从列表中取出多个元素

 1  >>> b[0:3]         # 取从0到第3个元素,不包括第4个
 2 ['job', 'salary', 'name']
 3  >>> b[:3]          # 与上面一至
 4  ['job', 'salary', 'name']
 5 >>> b[2:5]          # 取从第3到第5个元素
 6 ['name', 12, 'shop']
 7  >>> b[0:-3]         # 取从第1至倒数第3个元素(之间)
 8 ['job', 'salary', 'name', 12]
 9 >>> b[-3:]           # 取倒数第3个至最后一个元素
10 ['shop', 'xyz', 'copy']
11 >>> b[1:8:2]         # 取第1到最后,每隔一个取一个元素,最后:2是步长,以第隔几个元素取一个
12 ['salary', 12, 'xyz']
13 >>> b[::2]           # 从头到尾每隔一个取一个
14 ['job', 'name', 'shop', 'copy'] 

  增加:NAME.append()    在列表后添加一个元素

1 ['job', 'salary', 'name', 12, 'shop', 'xyz', 'copy']
2 >>> b.append('sese')
3 >>> b
4 ['job', 'salary', 'name', 12, 'shop', 'xyz', 'copy', 'sese'] 

  删除1:NAME.pop()       删除列表中最后一个元素

1 >>> b.pop()
2 'sese'
3 >>> b
4 ['job', 'salary', 'name', 12, 'shop', 'xyz', 'copy'] 

  删除2:NAME.remove()     删除列表中一个元素,如果有相同元素,从左向右删除

1 >>> b.remove('xyz')
2 >>> b
3 ['job', 'salary', 'name', 12, 'shop', 'copy']

  删除3:del NAME[索引]

1 >>> del b[3:7]    # 删除3到7的元素(不包括7)
2 >>> b
3 ['shop', 'salary', 'name', 'copy', 'NAME', 12]

  修改:NAME.insert(索引,新值 )      修改目标位置的元素

1 >>> b
2 ['job', 'salary', 'name', 12, 'shop', 'copy']
3 >>> b.insert(3,'NAME')
4 >>> b
5 ['job', 'salary', 'name', 'NAME', 12, 'shop', 'copy']

  查询:NAME.index()      查询元素在列表中的索引位置

1 >>> b.index('shop')
2 5

  联结:‘’join

1 >>> name_list
2 ['xiaohua', 'xiaoming', 'old', 'yound', 'boy', 'doudou']
3 >>> '_'.join(name_list)            # join 用来指定列表内元素的联结方式,只对字符串生效
4 'xiaohua_xiaoming_old_yound_boy_doudou' 

  包含:''in

1 >>> 'doudou' in name_list
2 True            # in 返回一个bool值,多用来做判断  

  统计:NAME.count()        统计元素在列表中的个数

1 >>> b.append('copy')
2 >>> b.count('copy')
3 2 

  合并:NAME.extend(NAME2)  将列表2合并到列表1中

1 >>> b1 = ['haha','heihei']
2 >>> b .extend(b1)
3 >>> b
4 ['job', 'salary', 'name', 'NAME', 12, 'shop', 'copy', 'copy', 'haha', 'heihei']

  排序:NAME.sort()

1 >>> b
2 ['job', 'salary', 'name', 'NAME', 12, 'shop', 'copy', 'copy', 'haha', 'heihei']
3 >>> b.sort()
4 >>> b
5 [12, 'NAME', 'copy', 'copy', 'haha', 'heihei', 'job', 'name', 'salary', 'shop']  

  反转:NAME.reverse()

1 >>> b
2 [12, 'NAME', 'copy', 'copy', 'haha', 'heihei', 'job', 'name', 'salary', 'shop']
3 >>> b.reverse()
4 >>> b
5 ['shop', 'salary', 'name', 'job', 'heihei', 'haha', 'copy', 'copy', 'NAME', 12]  

  循环: for

 1 #!/usr/bin/env python
 2 # coding:utf-8
 3 
 4 name_list = ['xiaohua','xiaoli','xiaoping']
 5 for item in name_list:
 6         if item == 'xiaohua':
 7             print 'yuanlaizoushiniya!'
 8             continue    #  当次循环不再继续
 9         elif item == 'xiaoli'
10             print 'shaobing'
11             break        # 退出循环
12         else:
13             pass        #  写也可以,不写也可以 

5、元组(tuple)

1 >>> name_tuple = (12,14,15,16,18)    # 元组里的元素一旦初始化后,但不能修改
2 >>> name_tuple
3 (12, 14, 15, 16, 18)
4 >>> name_tuple = tuple((12,14,15,16,18))
5 >>> name_tuple
6 (12, 14, 15, 16, 18) 

  索引/切片

1 >>> name_tuple[0]
2 'xiaohua'
3 >>> name_tuple[0:]
4 ('xiaohua', ['old', 'age', 14]) 

  长度: len()

1 >>> name_tuple = ('xiaohua',['old','age',14])
2 >>> name_tuple
3 ('xiaohua', ['old', 'age', 14])
4 >>> len(name_tuple) 

  包含:in

1 >>> 'age' in name_tuple
2 False 

  循环:for       与列表中的循环一样

6、字典(dict)

1 # 字典使用key/value的格式来存储数据,每一个key/value是一个键值对,键值对是唯一的,字典支持增删改查
2 >>> name_dict = {'name':'xiaoping','age':18,'job':'it'}
3 >>> name_dict
4 {'job': 'it', 'age': 18, 'name': 'xiaoping'}

  items()/keys()/values()

 1 #!/usr/bin/env python
 2 # coding:utf-8
 3 
 4 name_dict = {'name':'xiaoping','age':18,'job':'it'}
 5 
 6 for k,v in name_dict.items():        # .items() 表示字典里所有的元素
 7     print k,v
 8 name_dict = {'name':'xiaoping','age':18,'job':'it'}
 9 print  name_dict.keys()              # .keys()  表示字典里所有的key
10 name_dict = {'name':'xiaoping','age':18,'job':'it'}
11 print  name_dict.values()            # .values()  表示字典里所有的value 

  字典是无序输出的

1 tom@python:/data/python/day1$ python dict.py
2 job it
3 age 18
4 name xiaoping   

五、运算

 

六、文件的基本操作

过程:
找到文件--打开文件--文件操作(读/写)--关闭文件            
使用方式:

1 open/file(PATH,MODE)       

模式:

1 r,  只读,以只读的方式打开文件,读取内容。
2 w,  只写,如果文件已经存在,会将文件覆盖,如果不存在,将会创建新文件。
3 a,  追加,如果文件已经存在,内容会追加到末尾,如果不存在,将会创建新文件。
4 w+, 读写,如果文件已经存在,会将文件覆盖,如果不存在,将会创建新文件。 

读取   

1 read()        # 一次性全部读入内存
2 readlines()    # 逐行读入内存
3 for line in FILE:    # 每次循环,只读一行 

  read() 全部读入到内存

1 file_obj = file('/data/python/day1/tt.txt','read')
2 print file_obj.read()
3 file_obj.close()
4 # 输出
5 tom@python:/data/python/day1$ python file.py
6 job,12,home
7 copy,sel,45

  readlines()逐行读取入到内存。

1 file_obj = file('/data/python/day1/tt.txt','read')
2 print file_obj.read()
3 file_obj.close()
4 #输出后是一个列表,每个元素后面都带一个换行符
5 tom@python:/data/python/day1$ python file.py
6 ['job,12,home\n', 'copy,sel,45\n']

 写入

1 write_list.write()  # 可以一次性写入
2 write_list.writelines()  # 也可以逐行写入 

  write()例子

1 write_obj = file('./name.txt','w') 
2 write_obj.write(str_list)
3 write_obj.close()

 

 


计算器链接:http://www.cnblogs.com/wupeiqi/articles/4949995.html
 



 参考链接:http://www.cnblogs.com/wupeiqi/articles/4906230.html

 

转载于:https://www.cnblogs.com/YaYaTang/p/4911113.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Finished yeah!

终于到了最后的博客阶段&#xff0c;这时候才知道博客此时此刻是多么的惬意&#xff0c;它成了书写心声的自由平台&#xff01;耗时一天完成这作业说起来也是蛮辛苦的&#xff0c;编译器需要新装&#xff0c;IDE需要熟悉&#xff0c;当然最主要的是之前浅入浅出的C功底在此次作…

Tomcat性能调优

1、集成apache 虽然Tomcat也可以作web服务器&#xff0c;但是处理静态html的速度比不上apache&#xff0c;且其作为web服务器的功能远不如Apache&#xff0c;因此把apache和tomcat集成起来&#xff0c;讲html和jsp功能部分进行明确的分工&#xff0c;让tomcat只处理jsp部分&…

河南推出近万亿PPP投资计划 郑州实现智慧城市全覆盖

1 近万亿PPP项目启动 眼下&#xff0c;国内财经新闻的热点聚焦在PPP开发上&#xff0c;这与PPP支撑国内经济平衡运行的一支强劲力量正被政府看好。就连二级市场也出现了PPP概念的抢筹现象。 9月27日&#xff0c;股市再一次遭遇抛售&#xff0c;大盘创出阶段性新低&#xff0c;然…

Loadrunner多服务器连接问题

今天用想增加一个压力机,在服务器管理列表里怎么也连不上,后来解决方法如下:1. 关闭所有loadrunner组件,并手动结束lr_开头的进程2.找到惠普loadrunner安装目录(C:\Program Files\HP\LoadRunner\bin),手动运行magentproc.exe即可最新内容请见作者的GitHub页&#xff1a;http://…

物联网安防技术融合在细分领域的应用分析

物联网的核心是业务和应用的创新。物联网技术与智能化技术的深度融合&#xff0c;加快了行业的智能化发展&#xff0c;促使了行业需求在应用层上的落地。安防技术架构是物联网架构的一个子集&#xff0c;传统安防是一个相对保守的行业。现代安防和物联网在业务和技术上的融合发…

强连通分量(学习心得)

定义&#xff1a;有向图强连通分量&#xff1a;在有向图G中&#xff0c;如果两个顶点vi,vj间&#xff08;vi>vj&#xff09;有一条从vi到vj的有向路径&#xff0c;同时还有一条从vj到vi的有向路径&#xff0c;则称两个顶点强连通如果有向图G的每两个顶点都强连通&#xff0c…

java for的增强_Java基础之增强for循环

平时大家for循环应该用的不少&#xff0c;特别是增强for循环&#xff0c;简单快捷。但是在增强for中做删除操作&#xff0c;却会抛出java.util.ConcurrentModificationException&#xff0c;一起来看下。上面的代码&#xff0c;在for循环执行完if中的remove&#xff0c;遍历下一…

lintcode:递归打印数字

题目 用递归打印数字 用递归的方法找到从1到最大的N位整数。 样例 给出 N 1, 返回[1,2,3,4,5,6,7,8,9]. 给出 N 2, 返回[1,2,3,4,5,6,7,8,9,10,11,...,99]. 注意 用下面这种方式去递归其实很容易&#xff1a; recursion(i) {if i > largest number:returnresults.add(i)r…

做免费的EDM,EmailCar看中的是挖掘数据的价值

从2008年开始&#xff0c;做了9年企业级EDM&#xff08;电子邮件营销&#xff09;服务的陆霏近日宣布&#xff0c;他们的产品EmailCar从4.0版本开始永久免费为企业提供电子邮件基础投递业务。 我们电子邮箱经常收到的推广邮件就属于EDM&#xff0c;即Email Direct Marketing。这…

java 读取split_Java报错系列——split

在String中,split方法如下&#xff1a;可见&#xff0c;split的核心在于Pattern.compile(regex).split(this, limit);Java提供Pattern,Matcher用于支持正则&#xff0c;可以看一个例子&#xff1a;运行结果是&#xff1a;0,1||3,4|ab|7,8|cef|8,9||11,12|kk|13,14|a|需要注意的…

VS2012生成事件

Visual Studio 事件生成功能对我们开发综合项目的过程中尤为重要。 下面以VS2012为例&#xff1a; 选择工程-> 属性->编译->生成事件 包括两个生成事件&#xff1a;预先生成事件和后期生成事件 直接在相应的文本框里编写写脚本即可&#xff0c;如&#xff1a;编译完成…

H3C Navigate 2017 | 拉近世界的距离 新华三的泛联接版图

就今天而言&#xff0c;联接世界的网络外延已经无限扩大&#xff0c;联接的方式也越来越复杂。从互联网时代的PC互联&#xff0c;演进到移动互联网时代手机等移动终端的互联&#xff0c;而即将大规模爆发的物联网应用时代&#xff0c;所有的事物都可能被连入网络&#xff0c;一…

大数据时代的公共安全治理

未来&#xff0c;大数据将成为社会基础设施的一部分&#xff0c;跟公路、自来水、电一样&#xff0c;成为人们生活不可或缺的一部分。但大数据的作用并不仅仅局限于为普通消费者提供生活必须服务&#xff0c;它已经开始在信息产业、公共安全、交通运输、金融、水利等领域中发挥…

CCNA第二讲笔记

网络定义&#xff1a;一组由介质&#xff08;线缆&#xff09;互联的网络设备&#xff08;路由器、交换机&#xff09;和终端系统&#xff08;PC&#xff09;&#xff1b; 工作组&#xff1a;局域网范畴&#xff0c;范围最小的局域网&#xff0c;且不涉及网络设备。台式机需要有…

服务器资源管理器视图的添加显示的步骤

MVC视图查看数据库表结构时&#xff0c;通常会打开服务器资源管理器视图&#xff0c;在服务器资源管理器视图中能查看表的数据集及表结构 打开的方法为&#xff1a; ①可使用快捷键&#xff1a; ctrlaltS ②也可添加“服务器资源管理器视图”到“视图”工具菜单&#xff0c;做法…

能源局将提高光伏“领跑者”项目技术指标

记者从权威渠道获悉&#xff0c;国家能源局正计划对光伏“领跑者”中有关单多晶的转换效率标准等细节进行修改。“领跑者”计划中&#xff0c;光电转换效率的修订工作将在今年3月底展开&#xff0c;主要向各大相关机构、企业征求意见&#xff0c;如果争议较多&#xff0c;定稿时…

SlidingMenu的使用,结合Fragment(eclipse环境)

首先下载SlidingMenu&#xff0c;有Library和Sample&#xff0c;然后在自己的项目中引入类库&#xff08;引入智慧北京工作空间的Library&#xff09;&#xff0c;然后V4包会发生冲突&#xff0c;删掉自己项目Libs目录下的V4包即可 侧滑布局和主界面布局都先用一个空布局填充一…

java如何做全局缓存_传智播客JNI第七讲 – JNI中的全局引用/局部引用/弱全局引用、缓存jfieldID和jmethodID的两种方式...

讲解JNI中的全局引用/局部引用/弱全局引用、缓存jfieldID和jmethodID的两种方式&#xff0c;并编写两种缓存方式的示例代码。1.从Java虚拟机创建的对象传到本地C/C代码时会产生引用&#xff0c;根据Java的垃圾回收机制&#xff0c;只要有引用存在就不会出发该引用指向的Java对象…

C#设计模式学习笔记-单例模式

C#设计模式学习笔记-单例模式 最近在学设计模式&#xff0c;学到创建型模式的时候&#xff0c;碰到单例模式&#xff08;或叫单件模式&#xff09;&#xff0c;现在整理一下笔记。 在《Design Patterns&#xff1a;Elements of Resuable Object-Oriented Software》中的定义是&…

Linux 安装loadrunner 碰到的问题

关于linux下面搭建loadrunner的详细步骤&#xff1a; http://blog.sina.com.cn/s/blog_9aa583cf0101bu4y.html http://hi.baidu.com/higkoo/item/d75027acc78bab3e030a4dde?qq-pf-topcqq.c2c http://www.cnblogs.com/xiaoTT/archive/2012/02/15/2352127.html 用控制台加载负载…