`
san_yun
  • 浏览: 2653234 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

python知识点

 
阅读更多

backends = ['read_only2'] * 7 + ['default'] * 3
shuffle(backends)

 

python API: http://epydoc.sourceforge.net/stdlib/index.html

 

1. 安装,环境,解释器,版本

 

python获取AP信息help(sys)

 

2. 字面量,数据类型

 

Python 有多种内置数据类型。以下是比较重要的一些:

  1. Booleans[布尔型] 或为 True[真] 或为 False[假]
  2. Numbers[数值型] 可以是 Integers[整数](12 )、Floats[浮点数](1.11.2 )、Fractions[分数](1/22/3 );甚至是 Complex Number[复数]
  3. Strings[字符串型] 是 Unicode 字符序列,例如: 一份 HTML 文档。
  4. Bytes[字节]Byte Arrays[字节数组]例如: 一份 JPEG 图像文件。
  5. Lists[列表] 是值的有序序列。
  6. Tuples[元组] 是有序而不可变的值序列。
  7. Sets[集合] 是装满无序值的包裹。
  8. Dictionaries[字典] 是键值对的无序包裹。

"if not expression":

   None,0,空字符,false都能匹配:

if not 0:
    print 'none'

if not []:
    print 'none'

if not False:
   print 'none'

if not '':
  print 'nont'

if not None:
  print 'nont'
 

 

global关键字:

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global 语句完成这一功能。没有global 语句,是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global 语句可以清楚地表明变量是在外面的块定义的。 

 

#!/usr/bin/python
# Filename: func_global.py

def func():
    global x

    print 'x is', x
    x = 2
    print 'Changed local x to', x

x = 50
func()
print 'Value of x is', x 
 

 

3. 操作符表达式


4. 控制流 if-elif-else-while

 

#!/usr/bin/python
# -*- coding: utf-8 -*-  
num = 20
guess = int(input('input number:'))


if num == guess:
        print ('恭喜你,你猜对了')
elif num > guess:
        print ('小了')
else:
        print ('大了')
 
# -*- coding: utf-8 -*-  

这条语句表示置编码格式为utf-8。

 

这个猜数字还不够友好,猜错一次程序就退出了,可以加上while。

#!/usr/bin/python
# -*- coding: utf-8 -*-  
num = 20
while True:
  guess = int(input('input number:'))
  if num == guess:
        print ('恭喜你,你猜对了')
  elif num > guess:
        print ('小了')
  else:
        print ('大了')

 

for循环加了else,很方便:

array = []
for i in array:
        print i
else:
        print 'array empty'

for i in range(1,5):
        print i
for i in [1,2,3,4,5]:
        print i

  python 切片 [start:stop:step]

 "123456"[::-1]  654321

 "123456"[:3:1]  124

 "123456"[3::1] 456

 

5.函数

 使用def定义函数

#/usr/bin/python

def sayHello():
        print ('hello python')

sayHello()

 默认参数值
对于一些函数,你可能希望它的一些参数是可选的,如果用户不想要为这些参数
提供值的话,这些参数就使用默认值

#/usr/bin/python

def sayHello(str="fuck"):
        print (str)

sayHello()
sayHello('come on')

注意:
只有在形参表末尾的那些参数可以有默认参数值, 例如,def func(a, b=5) 是有效的,但是 def func (a=5, b) 是无效的。

 

VarArgs 参数

有时,你或许想定义一个能获取任意个数参数的函数,这可通过使用 * 号来实现。


Keyword-only
略。。。。。

 

6.模块

模块可以理解为java里面的jar包,可以从另外一个程序导入来使用其函数的功能。这也是我们使用 Python 标准库的方式。

#/usr/bin/python

import sys

print ('Thre command line arguments are:')
for i in sys.argv:
        print (i)

print ('\n The PYTHONPATH is',sys.path,'\n')
 

 

 

按字节编译的 .pyc 文件
导入一个模块相对来说是一个比较费时的事情,所以 Python 做了一些技巧,以便使输入模块更加快一些。一种方法是创建按字节编译的文件,这些文件以.pyc 作为扩展名。字节编译的文件与 Python 变换程序的中间状态有关—— 它会快得多,因为一部分输入模块所需的处理已经完成了。另外,这些字节编译的文件也是与平台无关的。所以,现在你知道了那些.pyc 文件事实上是什么了。
注释:
这些.pyc 文件通常与.py 文件相同的方式在相同路径被创建。如果 Python 没有写入当前路径的权限,.pyc 文件就不会被创建

 

 

7.OOP

#!/usr/bin/python

class Person:
        pass # empty block

p = Person()
print(p)

  pass 语句表示空白块

 

__init__ 方法
__init__ 方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的初始化。

#!/usr/bin/python

class Person:
        pass # empty block
        def __init__(self,str):
                print('init = '+str)

p = Person('jiangyunpeng')

类和对象变量
有两种类型的域 —— 类的变量和对象的变量,它们根据是类还是对象拥有这个变量而区分。

 

 

Python的继承方式和java不太一样,直接上代码

#!/usr/bin/python
class Base():
        def hello(self):
          print('base')
class Sub(Base):
        def hello(self):
          print('sub')
m = Sub()
m.hello()
 

 

前面可以看到方面有个参数self,在pythonl里类的方法必须有个额外的第一个参数 (self ),但在调用这个方法的时候不必为这个参数赋值 .

 

class Python:
        def test(self):
                   print('test')
p = Python()
p.test()
 

这个特别的参数指代的是对象本身,而按照Python的惯例,它用self来表示。(当然我们也可以用其他任何名称来代替,只是规范和标准在那建议我们一致使用self)

self在Python里不是关键字。self代表当前对象的地址。self能避免非限定调用造成的全局变量。

 

 

6. io


7.多线程

python是支持多线程的,并且是native的线程。主要是通过thread和threading这两个模块来实现的。python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用。

 

#!/usr/bin/python
# -*- coding: utf-8 -*-  
import string,threading,time

def thread_main(a):
    
    global count,mutex
    
    # 获得线程名
    threadname = threading.currentThread().getName()

    for x in xrange(0,int(a)):
         
         # 取得锁
         mutex.acquire()
         count = count+1
         
         # 释放锁
         mutex.release()

         print threadname,x,count
         time.sleep(1)

def main(num):
    global count,mutex
    threads = []
    count = 1
    mutex = threading.Lock()

    for x in xrange(0,num):
        threads.append(threading.Thread(target=thread_main,args=(10,)))

    for t in threads:
        t.start()

    for t in threads:
        t.join()

if __name__ == '__main__':
    # 创建4个线程
    main(4)
 

8.数组

 

range,xrange 这两个基本上都是在循环的时候用。

for i in range(0, 100):
print i

for i in xrange(0, 100):
print i

这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象:

a = range(0,100)
print type(a)
print a
print a[0], a[1]

而xrange则不会直接生成一个list,而是每次调用返回其中的一个值

a = xrange(0,100)
print type(a)
print a
print a[0], a[1]

所以xrange做循环的性能比range好,尤其是返回很大的时候!

尽量用xrange吧,除非你是要返回一个列表。

 

 

更多:

用python爬虫抓站的一些技巧总结

http://woodpecker.org.cn/diveintopython3/native-datatypes.html

分享到:
评论

相关推荐

    Python知识点背诵手册(分章节超详细)Python知识点梳理手册

    《Python知识点背诵手册》是一份详细整理的资料,旨在帮助初学者系统地理解和掌握Python的核心概念与技能。下面我们将深入探讨Python的一些关键知识点。 1. **基础语法** - 变量与数据类型:Python支持整型(int)、...

    python知识点整理.pdf

    python知识点整理.pdf

    总结python知识点大全.zip

    这个名为“总结python知识点大全.zip”的压缩包文件包含了对Python编程语言关键知识点的详细概述。通过解压并查阅“python总结知识点大全.pdf”,我们可以深入学习Python的基础和高级特性。 1. **基础语法** ...

    Python知识点Python知识点Python知识点Python知识点Python知识点PythonPython知识点.txt

    Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点Python知识点

    python知识点汇总 思维导图

    python知识点汇总 思维导图,条理清晰,简单明了,还可以用作笔记查询

    python知识点知识树

    "Python知识点知识树"旨在构建一个完整的知识体系,帮助学习者系统地理解和掌握Python编程。 首先,Python的基础部分包括变量、数据类型、运算符、流程控制(如条件语句、循环语句)以及函数的使用。理解这些基本...

    Python知识点总结.doc

    学习Python的过程中,了解并熟练掌握这些基本知识点是至关重要的。这不仅涵盖了数据的存储和处理,还包括了控制流程(如条件语句和循环)、错误处理、模块导入等更复杂的话题。通过不断地实践和应用,可以逐步精通...

    2023年Python知识点整理.docx

    Python知识点整理 Python知识点整理是对Python编程语言的基础知识的归纳和总结。本文档将Python知识点分为七个部分:算法、变量、数据类型、赋值运算、数值运算、字符串运算、布尔型数据的运算、函数和语句。 一、...

    Python知识点归纳项目

    Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目Python知识点归纳项目

    python知识点xmind文件

    内容全面,你可以放心下载

    Python知识点课件

    这份"Python知识点课件"包含的PDF文档,很可能是为了帮助初学者或有一定基础的学习者深入理解Python编程的各种核心概念和技巧。以下是根据这个标题和描述可能涵盖的一些Python知识点的详细解释: 1. **基础语法**:...

    Python知识点整理.zip

    在这个名为"Python知识点整理.zip"的压缩包中,我们找到了一个名为"Python知识点整理.pdf"的文档,它很可能包含了Python语言的核心概念、常用库和实战技巧。下面,我们将对Python的一些关键知识点进行详细的阐述。 ...

    Python知识点归纳项目全套demo源码分享

    ### 资源描述:Python 知识点归纳项目全套 Demo 源码 本资源提供了一个全面的 Python 知识点归纳项目的完整 Demo 源码。此项目涵盖了 Python 的基础语法、面向对象编程、数据处理、网络编程、数据库操作、爬虫开发...

    python知识点.md

    python知识点.md

    Python知识点整理.pdf

    Python 知识点整理 Python 是一种高级的、解释型的编程语言,广泛应用于 Web 开发、数据科学、人工智能等领域。以下是 Python 的一些重要知识点: 一、算法 算法是解决问题的方法和步骤,即解题步骤。算法的描述...

    Python知识点.doc

    Python 知识点总结 Python 是一种广泛使用的高级编程语言,应用于多个领域,包括人工智能、数据科学、Web 开发等。下面是 Python 的一些重要知识点总结。 1. 数值类型 Python 中有多种数值类型,包括整数、浮点数...

    Python知识点思维导图.rar

    这份"Python知识点思维导图.rar"文件显然是一份详细整理的Python语法学习资料,通过思维导图的形式帮助学习者系统地理解和掌握Python的核心概念。让我们一起深入探讨其中可能包含的主要知识点: 1. **基础语法**:...

Global site tag (gtag.js) - Google Analytics