猴砸

python基础1

一、自动化流程图

  1、Jenkins:一个用java编写的开源持续集成工具

  2、测试环境:PHP、C、等其它服务端程序

  3、测试平台:Robot Framework/Junit/python等语言

 

 


 

二、python简介

  1、python语言的介绍(谷歌公司的员工)

  

  2、优缺点

    优点:“优雅”、“明确”、“简单”; 拥有非常强大的第三方库等

    缺点:运行速度慢;代码不能加密

  3、应用场景

    

  4、拓展:GO语言--谷歌开发的,如:刀塔就是利用go语言开发的

 


 

 三、变量

  

变量相关知识点参考链接:http://www.cnblogs.com/mjios/archive/2013/05/07/3065522.html

  1、声明变量--声明完之后就已经把变量存储在内存当中了

例子1、

name,age = "tanghouzi",20   

例子2

name = "tang houzi"  #所有带引号的,不管是单、双、三引号,都是被python认为是字符串
age = 20 #python是分数字类型的,分为数字和字符串,这是数字,上面的是字符串

例子1与例子2的意思是相同的

 

  2、变量的调用

name    #这样的话就表示调用了变量
print (name,age)  #打印两个变量name和age,输入完之后,工具就会自动帮忙保存

  3、变量的命名规则


命名过长

(命名看得懂的标识即可)

如果需要标识的太过于复杂,需要用_区分开来
name_of_brothors_age = 2
如果不使用下划线的话,可以使用首字母大写来进行区分
NameOfBrothersAge = 2(驼峰体)
中横线 - 代表的是减法,已经被其他的预发占用的,不能用来命名
 

命名禁忌   

 不可以数字开头  
 不可以特殊字符开头,下划线是可以的 例如:$&*&&&  
变量里面不能有空格
 
 python自带成语法的关键字不能使用 如:and as assert break class等  

 

 

 

 

 

 

 

 

  4、作用域

name = "monkey"  #将monkey赋值给name
name2 = name    #将name的值赋值给name2,其实就是直接将monkey赋值给了name,这个时候name对应的值就是monkey
print(name,name2)   #打印上面的name、name2
name = "hahah"     #将name赋予新的值为hahah
print(name,name2)   #打印出来name = hahah   name1 = monkey

 

四、常量

在python当中是没有常量这个概念的,但是当别人定义数据的时候前面是全部大写的话,就表示是一个常量,不能修改的,如果修改的话会报错。

如:连接数据库的信息算是一个常量,不能随便的进行更改。如果有更改的话应该要重启下程序才可以。

 


 

五、字符编码

计算机只能识别的是0、1的这两种二进制组合,但是人眼的话需要展示的是界面--将人能看得懂的页面转化成0、1、0、1的形式即可

  1、ascii编码

  1个字符 = 8比特位(bit,8个0或1二进制编码组成) = 1字节(byte)

  如图所示,有127个字符,如果我们自己看到一个字母E其实计算机去ascii表中查询字母E对应的十进制69,并且转化成二进制01010100;计算机是由西方人发明的,刚开始的时候只能支持英文,也就是26个字母就可以拼出所有的英文单词,加上一些特殊字符就只有占用127个字符--一个字符就可以将整张表的数据存储下来。一个字节8位,能表示的最大数字位2-1 =255个字符  

  上面的ascii中占用的是127,剩下扩展的为255 - 127 =128种方式。后面其它国家的经济发展越来越快,如:中国这边也引进了电脑的技术,而且单单常用的汉字就有六千多个字,就将剩下的字符中占用一位字符扩展成另一张表(这张表要存储的大小由我们自己来确定),这张扩展出来的表中存储的就是全部的中文和其它国家的文字。中国扩展的表中会包含日文、韩文、中文,日本所扩展的表中也有了中文、日文等语言,这样就会赞成了乱码的情况(同一种语言在不同编码表里面的编码归责是不一样的)--国外的部分软件,我们安装之后就会乱码(字符集出现交叉导致乱码要么就是没有安装相对应的字符集)

  2、unicode编码

  由于上面会出现乱码的问题,所以就统一推出了unicode编码(统一码、万国码),是一种在计算机上使用的字符编码,unicode是为了解决传统的字符编码方案的局限而产生的,,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位来表示(2个字节),即216 = 65536种 (比之前的ascii多一个或者更多的字符,占用的空间太大,推出下面的UTF-8 编码)

  3、UTF- 8编码

  是对unicode编码的压缩和优化,不再使用最少2个字节,而是将所有的字符和符号进行分类:ascii码种的内容用1个字节保存,欧洲的字符用2个字符保存,东亚(中文)的字符由3个字符保存

  4、加解释器和字符集

  python2的时候,只支持ascii码,所以如果输入的包含中文的话,需要声明编码位UTF- 8编码 

#!/user/bin/env python    加解释器
# -*- coding: utf-8 -*-    加字符集

 

 


 

六、注释

  1、定义

在每段代码后面或者是上面可以利用#进行添加单行注释
'''   ''' 多行注释(可以为单、双引号,但是一定要英文的输入法情况下写入)

 

 

  2、python的开发规范:每一行的代码不超过80个字符

  3、用户输入--input

python2 raw_input
user_input = raw_input("your name:")
print (user_input)
input  
name = "haha"    #先声明变量name
user_input = input("your name:")
print (user_input)
如果在2.7里面使用input的话,输入的是一个字符串的时候,系统不认为是一个字符串,而是一个变量,
就会去找这个变量,找不到就会报错;所以如果要输入一个变量的话必须先声明,如上面代码所示
但是如果是数字的话则是认为数字输出
python3 input  
user_input = input('input your name:')
print("user input msg:",user_input)

 

打印结果解析:输入用户名字,然后打印出来所要打印出来的结果

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

七、格式化字符串

name = input("input your name:")
age = int(input("input your age:"))
job = input("input your job:")

msg='''
Infomation of user %s:

----------------------

Name: %s
Age:  %f
Job:  %s

----------End---------

'''%(name,name,age,job)

print(msg)

 

  1、文本格式化:将外面的变量置换到文本里面

  2、占位符: %

每一个占位符必须赋予一个变量,如果输出到是字符串的话用s来表示;如果是数字的话则用d来表示;如果是小数(浮点数)的话则用f来表示

  3、只要用input,在python3里面默认输出的是字符串的形式,如果我们在后面的age中强制将输入的字符变成是数字的,这个时候在input的时候需要强制转换成数字类型(int)

  4、浮点型举例

 

 

 

 


 

八、常用模块初识--import

  1、Linux命令(用Mac终端执行的)

df:用来检查Linux服务器的文件系统磁盘空间占用情况

df-h:方便阅读方式显示

 

ls:列出文件和目录

 

新建文件并查询

 

  2、导入当前目录模块

 

  3、环境变量的查询方式

一般自己写的模块都是保存在python的site-packages文件夹里面

如果将文件保存在site-packages文件夹里面(或者上面的任意一个文件夹当中)的话,则表示的是适用于全部的文件的,保存在其它文件夹当中的话则表示只适用于这个文件夹的文件

  4、tab补全模块文档保存

新建一个tab.py文件,将下面的代码复制进去,放在驱动的文件夹里面即可,这样就可以适用于全部文件的tab补全文档了

PS: 此文档仅适用于Mac,关于windows文档需要自行百度哦。

#!/user/bin/env python
# -*- coding: utf-8 -*-

import readline,rlcompleter

### Indenting
class TabCompleter(rlcompleter.Completer):
    """Completer that supports indenting"""
    def complete(self, text, state):
        if not text:
            return ('    ', None)[state]
        else:
            return rlcompleter.Completer.complete(self, text, state)

readline.set_completer(TabCompleter().complete)

### Add autocompletion
if 'libedit' in readline.__doc__:
    readline.parse_and_bind("bind -e")
    readline.parse_and_bind("bind '\t' rl_complete")
else:
    readline.parse_and_bind("tab: complete")

### Add history
import os
histfile = os.path.join(os.environ["HOME"], ".pyhist")
try:
    readline.read_history_file(histfile)
except IOError:
    pass
import atexit
atexit.register(readline.write_history_file, histfile)
del histfile

 

  5、查询规则

 

posted @ 2017-01-16 16:16  猴砸  阅读(312)  评论(0编辑  收藏  举报