python基础和编码规范

摘自腾讯云学院

1.1 python简介

python是一个高层次的结合了解释性,编译性,互动性和面向对象的脚本语言。

1.python是一种解释型语言:开发过程中没有编译这个环节。

2.python是交互式语言:可以在一个Python shell里,直接互动执行写你的程序。

3.python是面向对象语言:支持面向对象的风格或代码封装在对象的编程技术。

4.python是初学者的语言:易于学习,有丰富的标准库/模块。

1.2 python环境搭建

python版本

蓝鲸目前使用版本:Python2.7

Windows下安装:

进入python官网,下载Python2.7

第三方库安装

python不仅有丰富的标准库/模块,同时也有很多优秀的第三方库。

源码安装:python  setup.py install

包管理器:pip/easy install

1.源码安装pip

2.pip install flask

一个好用的方法:

使用PyCharm管理:

1.PyCharm是一款Python IDE,具备功能:调试、语法高亮、项目管理、代码跳转、只能提示、自动完成、单元测试、版本控制等。

2.PyCharm拥有Python环境第三方库管理功能。

3.进入file>Settings,在输入框搜索interpreter.

4.找到Project Interpreter,选择不同的python版本。

点击“+”号,可以搜索安装需要的包。

1.3 python的语句格式

Python中文编码

用Python输出“Hello,World!”

用Python输出“你好,世界”

定义编码格式

Python2默认编码格式是ASCII,没有修改编码格式时无法正确处理汉字。

在Python文件开头加入# -*-coding:UTF-8或者#conding=utf-8

所有项目中的Python文件都应该设置编码格式为utf-8


如果你使用IDE,同时需要设置好编辑器的编码格式


以PyCharm为例:

1.进入file>Settings,在输入框搜索encoding。

2.找到Editor>File encodings ,将IDE Encoding 和 Project Encoding 设置为utf-8.


Python条件/循环语句

条件语句--if语句

循环语句--while语句和for语句

x = -1

while x>1:

    x+=1

        print x

for y in "hello Python":

    print y


1.4 Python标准数据类型

Python标准数据类型-数字

numbers(数字)

1.int(有符号整型)

    10

2.long(长整型)

    11111111111111L

    0b10(2进制)

    0o10(8进制)

    0x10(16进制)

3.float(浮点型)

    15.215

    对浮点数四舍五入:

    >>>round(15.215,2)

    >>>'{:.20f}'.format(15.215)

    误差来自十进制转换成计算机内部二进制时,精读丢失。

    使用decimal(标准库)

    Decimal(‘15.215’).quantize(Decimal('.11'))

4.complex(复数)

    4.53-7j

Python标准数据类型-字符串

String(字符串)

    s = 'ilovepython'

1.Python访问字符串的值

    (1)从左到右索引默认0开始的,最大范围是字符串长度少1

    (2)从右到左索引默认-1开始的,最大范围是字符串开头

    s[0]          #i

    s[1:5]    #love

    s[-6:]    #python

    s[::-1]    #nohtypevoli    #等价于s[-1::-1]    #step为负数,从左向右截取

2.字符串常用内建函数

    1.startswith()/endswith()

    2.count()

    3.find()/index()

    4.join()

    5.partition()

    6.replace()

    7.split()

    8.strip()

python标准数据类型-列表

List(列表):

       seq = ['physics','chemistry',1997,2000]

    1.访问列表中的值:

        seq[1]

        seq[0:1]    #切片参考string

    2.更新/删除列表

        seq[2] = 2001

        del seq[2]

    3.常用列表函数

        len()

        max()

        min()

        list()

    4.常用列表方法

        append()

        extend()    #a.extend(b) 或者 a+b

        insert()

        pop()

        sort()

        count()

        index()


python标准数据类型-元组

Tuple(元组):

seq=('physics','chemistry',1997,2000)

seq='physics','chemistry',1997,2000                  任意无括号对象,以逗号隔开,默认为元组

1.访问元组

        参考列表(list)

2.更新、删除元组:

    元组中的元素值不允许修改

3.常用元组函数

    len()

    max()

    min()

    tuple()

4.元组、列表运算符

    (1,2,3)+(4,5,6)    #(1,2,3,4,5,6)

    [1]*3    #[1,1,1]

    1 in (1,2,3)

    for 1 in (1,2,3):

        print i

5.元组方法

    count()

    index()

python标准数据类型-字典

字典(Dictionary):

    dict2 = {'abc':123,98.6:37,(1,2):200};

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}中。

    键必须是唯一的,但值则不必。

    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    1.字典基本操作:

        dict['abc']    #取值

        dict['abc']  = 321    #修改

        del dict['abc']    #删除

    2.字典特性

        1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。

        2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。

    3.常用字典方法

        clear()

        fromkeys()

        get()

        has_key()      #key in dict

        items()

        setdefault()

        update()

        keys()

1.5 Python函数

定义一个函数

def function_name(*args,**kwargs):

    """函数说明"""

    #do_something

    #return result

函数参数

    1.必备参数

        定义    def func(p)

        调用    func(1)        func(p=1)

    2.缺省参数

        定义        def func(a,b=1,c=2)

        调用        func(1,1,1)            func(1,c=1)            func(1)

        参数值        a=1,b=1,c=1            a=1,b=1,c=1        a=1,b=1,c=2

       3.可变参数

            定义        def func(a,*args,**kwargs)

            调用         func(1,1,1)            func(1,c=1)            func(1)

             参数值        a=1,args=(1,1),kwargs={}           a=1,args=(,),kwargs={'c':1}        a=1,args=(,),kwargs={}


匿名函数、

sum = lambda arg1,arg2:arg1+arg2


1.6 Python异常处理

什么是异常?

异常即事件,该事件在程序执行过程中发生,影响了程序的正常执行。

一般,在Python无法正常处理程序时就会发生异常。

异常是Python对象,表示一个错误。

当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

异常处理

    捕捉异常可以使用try/except语句。

    try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。

    如果你不想在异常发生时结束你的程序,只需在try里捕获它。

语法:

以下为简单的try...except...else的语法:

try:

<语句>        #运行别的代码

except<名字>:

<语句>           #如果在try部分引发了‘name’异常

except<名字>as<数据>:

<语句>           #如果引发了定义的异常,获得附加的数据

else:

<语句>           #如果没有异常发生,且没有return

finally:

<语句>           #无论是否发生异常,都将执行最后的代码,之后return


python参考书籍


Python编码规范


用Python进行开发时的编码风格约定(epes:PEP 008 《Style Guide for Python Code》)

    分号:不要在行尾加分号,也不要用分号将两条命令放在同一行。

    行长度:每行不超过80个字符

    括号:宁缺毋滥的使用括号

    缩进:使用4个空格来缩进代码,不要使用tab,或者tab空格混用

    空行:函数或者类定义之间空2行,方法定义之间空1行

    空格:spam(ham[1], {eggs: 2}, [])            x = 1            def complex(real, imag=0.0):

    类:如果一个类不继承自其他类,就显式的从object继承,嵌套类也一样。

    导入格式:每个导入应该独占一行

    语句:通常每个语句应该独占一行    if a == 1:do(a)            a=1 if a == b else 0 

命名



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容