超常用的Python代码片段 备忘单_"float can also be scientific numbers with an "e (1)

float_number = 7.0
    # Another way of declaring float is using float() function.
    float_number_via_function = float(7)
    float_negative = -35.59

assert float_number == float_number_via_function
    assert isinstance(float_number, float)
    assert isinstance(float_number_via_function, float)
    assert isinstance(float_negative, float)

# Float can also be scientific numbers with an “e” to indicate
    # the power of 10.
    float_with_small_e = 35e3
    float_with_big_e = 12E4

assert float_with_small_e == 35000
    assert float_with_big_e == 120000
    assert isinstance(12E4, float)
    assert isinstance(-87.7e100, float)

def test_complex_numbers():
    “”“Complex Type”“”

complex_number_1 = 5 + 6j
    complex_number_2 = 3 - 2j

assert isinstance(complex_number_1, complex)
    assert isinstance(complex_number_2, complex)
    assert complex_number_1 * complex_number_2 == 27 + 8j

def test_number_operators():
    “”“Basic operations”“”

# Addition.
    assert 2 + 4 == 6

# Multiplication.
    assert 2 * 4 == 8

# Division always returns a floating point number.
    assert 12 / 3 == 4.0
    assert 12 / 5 == 2.4
    assert 17 / 3 == 5.666666666666667

# Modulo operator returns the remainder of the division.
    assert 12 % 3 == 0
    assert 13 % 3 == 1

# Floor division discards the fractional part.
    assert 17 // 3 == 5

# Raising the number to specific power.
    assert 5 ** 2 == 25  # 5 squared
    assert 2 ** 7 == 128  # 2 to the power of 7

# There is full support for floating point; operators with
    # mixed type operands convert the integer operand to floating point.
    assert 4 * 3.75 - 1 == 14.0

File

  • Read File
  • Write a File
  • Copy File
  • Move File
  • Readline

Read a file

在Python 3中,如果文件未以二进制模式打开,则编码将由locale.getpreferredencoding(False)或用户输入确定。

 

with open(“/etc/hosts”, encoding=“utf-8”) as f:
…     content = f.read()

 print(type(content))

In python3 binary mode

 

with open(“/etc/hosts”, “rb”) as f:
…     content = f.read()

 print(type(content))

In python2

 

## The content of the file is a byte string, not a Unicode string.

with open(“/etc/passwd”) as f:
…    content = f.read()
 print(type(content))

 print(type(content.decode(“utf-8”)))

Write a File

 

file_content = “Python is great!”
 with open(“check.txt”, “w”) as file:
…     file.write(file_content)

Copy a file

 

from distutils.file_util import copy_file
 copy_file(“a”, “b”)
( b , 1)

Move a File

 

from distutils.file_util import move_file
 move_file(“./a”, “./b”)
./b

Readline

 

## If you are not using linux machine try to change the file path to read

with open(“/etc/hosts”) as f:
…     for line in f:
…         print(line, end= )

127.0.0.1       localhost
255.255.255.255     broadcasthost
::1             localhost

Python Functions

  • Lambda
  • Declare Function
  • Document Function
  • Get Function Name
  • Arguments
  • Decorator
  • Generator

Lambda

 

fn = lambda x: x**3
 fn(2)
8

(lambda x: x**3)(2)
8

(lambda x: [x * _ for _ in range(10)])(3)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

Declare Function

 

def fn_name(): ## Where fn_name represents the function name
    …
    …

Get Function Name

 

## First Declare a function 
def fn_name():
    …
    …

fn_name.__name__
fn_name

Document a Function

 

## Document a function with three single quotes
def check():
     This function is documented
    return

check.__doc__
This function is documented

Arguments

 

def multiply(a, b=0): ## b is 0 by default
…     return a * b

 multiply(1, 3) ## 3 * 1
3
 multiply(5) ## 5 * 0
0
 multiply(5, b=3) ## 5 * 3
15

Generator

 

def count(start, step):
    while True:
        yield start
        start += step

counter = count(10, 5)
 next(counter)
(15)

next(counter) ## Increments by 5 from the previous result
(20)

next(counter)
(25)

next(counter), next(counter), next(counter)
(30, 35, 40)

Decorator

 

from functools import wraps

def decorator_func(func):
…     @wraps(func)
…     def wrapper(*args, **kwargs):
…         print(“Before calling {}.”.format(func.__name__))
…         ret = func(*args, **kwargs)
…         print(“After calling {}.”.format(func.__name__))
…         return ret
…     return wrapper

 @decorator_func
… def check():
…     print(“Inside check function.”)

 check()
Before calling check.
Inside check function.
After calling check.

Classes

  • Definition
  • Class Objects
  • Instance Objects
  • Method Objects
  • Inheritance
  • Multiple Inheritance

Class Definition

Python是一种面向对象的编程语言。 Python中的几乎所有东西都是一个对象,具有其属性和方法。 Class类似于对象构造函数,或者是用于创建对象的“蓝图”。

def test_class():
    """Class definition."""

    # Class definitions, like function definitions (def statements) must be executed before they
    # have any effect. (You could conceivably place a class definition in a branch of an if
    # statement, or inside a function.)

    class GreetingClass:
        """Example of the class definition
        This class contains two public methods and doesn t contain constructor.
        """
        name =  Bisrat

        def say_hello(self):
            """Class method."""
            # The self parameter is a reference to the class itself, and is used to access variables
            # that belongs to the class. It does not have to be named self , you can call it
            # whatever you like, but it has to be the first parameter of any function in the class.
            return  Hello   + self.name

        def say_goodbye(self):
            """Class method."""
            return  Goodbye   + self.name

    # When a class definition is entered, a new namespace is created, and used as the local scope —
    # thus, all assignments to local variables go into this new namespace. In particular, function
    # definitions bind the name of the new function here.

    # Class instantiation uses function notation. Just pretend that the class object is a
    # parameterless function that returns a new instance of the class. For example the following
    # code will creates a new instance of the class and assigns this object to the local variable.
    greeter = GreetingClass()

    assert greeter.say_hello() ==  Hello Bisrat
    assert greeter.say_goodbye() ==  Goodbye Bisrat

>>> print(type(content))
<class  str >

Class Objects

 

def test_class_objects():
    “”“Class Objects.
    Class objects support two kinds of operations:
    - attribute references
    - instantiation.
    “””

# ATTRIBUTE REFERENCES use the standard syntax used for all attribute references in
    # Python: obj.name. Valid attribute names are all the names that were in the class’s namespace
    # when the class object was created. For class MyCounter the following references are valid
    # attribute references:

class ComplexNumber:
        “”“Example of the complex numbers class”“”

real = 0
        imaginary = 0

def get_real(self):
            “”“Return real part of complex number.”“”
            return self.real

def get_imaginary(self):
            “”“Return imaginary part of complex number.”“”
            return self.imaginary

assert ComplexNumber.real == 0

# __doc__ is also a valid attribute, returning the docstring belonging to the class
    assert ComplexNumber.__doc__ ==  Example of the complex numbers class

# Class attributes can also be assigned to, so you can change the value of
    # ComplexNumber.counter by assignment.
    ComplexNumber.real = 10
    assert ComplexNumber.real == 10

# CLASS INSTANTIATION uses function notation. Just pretend that the class object is a
    # parameterless function that returns a new instance of the class. For example
    # (assuming the above class):
    complex_number = ComplexNumber()

assert complex_number.real == 10
    assert complex_number.get_real() == 10

# Let s change counter default value back.
    ComplexNumber.real = 10
    assert ComplexNumber.real == 10

# The instantiation operation (“calling” a class object) creates an empty object. Many classes
    # like to create objects with instances customized to a specific initial state. Therefore a
    # class may define a special method named __init__(), like this:

class ComplexNumberWithConstructor:
        “”“Example of the class with constructor”“”
        def __init__(self, real_part, imaginary_part):
            self.real = real_part
            self.imaginary = imaginary_part

def get_real(self):
            “”“Return real part of complex number.”“”
            return self.real

def get_imaginary(self):
            “”“Return imaginary part of complex number.”“”
            return self.imaginary

complex_number = ComplexNumberWithConstructor(3.0, -4.5)
    assert complex_number.real, complex_number.imaginary == (3.0, -4.5)

Instance Object

 

def test_instance_objects():
    # DATA ATTRIBUTES need not be declared; like local variables, they spring into existence when
    # they are first assigned to. For example, if x is the instance of MyCounter created above,
    # the following piece of code will print the value 16, without leaving a trace.

# pylint: disable=too-few-public-methods
    class DummyClass:
        pass

dummy_instance = DummyClass()

# pylint: disable=attribute-defined-outside-init
    dummy_instance.temporary_attribute = 1
    assert dummy_instance.temporary_attribute == 1
    del dummy_instance.temporary_attribute

Method Objects

 

class MyCounter:
    “”“A simple example of the counter class”“”
    counter = 10

def get_counter(self):
        “”“Return the counter”“”
        return self.counter

def increment_counter(self):
        “”“Increment the counter”“”
        self.counter += 1
        return self.counter

def test_method_objects():
    “”“Method Objects.”“”

# object types can have methods as well. For example, list objects have methods called append,

counter = MyCounter()
    assert counter.get_counter() == 10

get_counter = counter.get_counter
    assert get_counter() == 10

assert counter.get_counter() == 10
    assert MyCounter.get_counter(counter) == 10

Inheritance

 

# pylint: disable=too-few-public-methods
class Person:
    “”“Example of the base class”“”
    def __init__(self, name):
        self.name = name

def get_name(self):
        “”“Get person name”“”
        return self.name

# The syntax for a derived class definition looks like this.
class Employee(Person):

def __init__(self, name, staff_id):
        Person.__init__(self, name)
        # You may also use super() here in order to avoid explicit using of parent class name:
        # >>> super().__init__(name)
        self.staff_id = staff_id

def get_full_id(self):
        “”“Get full employee id”“”
        return self.get_name() +  ,   + self.staff_id

def test_inheritance():
    “”“Inheritance.”“”

# There’s nothing special about instantiation of derived classes: DerivedClassName() creates a
    # new instance of the class. Method references are resolved as follows: the corresponding class
    # attribute is searched, descending down the chain of base classes if necessary, and the method
    # reference is valid if this yields a function object.
    person = Person( Bisrat )
    employee = Employee( John ,  A23 )

assert person.get_name() ==  Bisrat
    assert employee.get_name() ==  John
    assert employee.get_full_id() ==  John, A23

# Python has two built-in functions that work with inheritance:
    #
    # - Use isinstance() to check an instance’s type: isinstance(obj, int) will be True only if
    # obj.__class__ is int or some class derived from int.
    #
    # - Use issubclass() to check class inheritance: issubclass(bool, int) is True since bool is
    # a subclass of int. However, issubclass(float, int) is False since float is not a subclass
    # of int.

assert isinstance(employee, Employee)
    assert not isinstance(person, Employee)

assert isinstance(person, Person)
    assert isinstance(employee, Person)

assert issubclass(Employee, Person)
    assert not issubclass(Person, Employee)

Multiple Inheritance

def test_multiple_inheritance():
    """Multiple Inheritance"""
    class Clock:
        """Clock class"""

        time =  10:17 PM 

        def get_time(self):
            """Get current time
            Method is hardcoded just for multiple inheritance illustration.
            """
            return self.time


    class Calendar:
        """Calendar class"""

        date =  12/08/2018

        def get_date(self):
            """Get current date
            Method is hardcoded just for multiple inheritance illustration.
            """
            return self.date

    # Python supports a form of multiple inheritance as well. A class definition with multiple
    # base classes looks like this.
    class CalendarClock(Clock, Calendar):

    calendar_clock = CalendarClock()

    assert calendar_clock.get_date() ==  12/08/2018
    assert calendar_clock.get_time() ==  11:23 PM 

Date and Time

  • DateTime
  • Time Delta
  • Calendar

datetime

 

from datetime import date 
from datetime import time
from datetime import datetime

today = date.today()
 print(today)
2019-03-04

print(today.day, today.month, today.year)
(4, 3, 2019)

print(today.weekday()) ## returns an integers in the range 0 to 6, where 0 represents Monday and 6 represents Sunday.
0

today = datetime.now()
 print(today)
2019-03-04 21:55:56.228000

time = datetime.time(datetime.now())
 print(time) 
21:56:16.040000

Time Delta

This module is used to perform date and time calculations.

 

from datetime import date 
from datetime import time
from datetime import datetime
from datetime import timedelta

print(timedelta(days=365, hours=5, minutes=1)) # 365 days, 5:01:00
today  = datetime.now()
print(today + timedelta(days=60)) # 2019-03-29 18:41:46.720811
print(today - timedelta(days=57)) # 2018-12-02 18:42:36.774421

timedelta对象采用以下参数:天,秒,微秒,毫秒,分钟,小时,周。 要查找过去或将来的日期,只需使用带有当前日期所需差异的加号或减号。

Calendar

日历相关操作并以格式化方式显示

import calendar

c = calendar.TextCalendar(calendar.MONDAY)
st = c.formatmonth(2017, 1, 0,0)
print(st)

hc = calendar.HTMLCalendar(calendar.MONDAY)
st = hc.formatmonth(2017, 1)
print(st)

#Output
   
    January 2017
Mo Tu We Th Fr Sa Su
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

<table border="0" cellpadding="0" cellspacing="0" class="month">
<tr><th colspan="7" class="month">January 2017</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sun">1</td></tr>
<tr><td class="mon">2</td><td class="tue">3</td><td class="wed">4</td><td class="thu">5</td><td class="fri">6</td><td class="sat">7</td><td class="sun">8</td></tr>
<tr><td class="mon">9</td><td class="tue">10</td><td class="wed">11</td><td class="thu">12</td><td class="fri">13</td><td class="sat">14</td><td class="sun">15</td></tr>
<tr><td class="mon">16</td><td class="tue">17</td><td class="wed">18</td><td class="thu">19</td><td class="fri">20</td><td class="sat">21</td><td class="sun">22</td></tr>
<tr><td class="mon">23</td><td class="tue">24</td><td class="wed">25</td><td class="thu">26</td><td class="fri">27</td><td class="sat">28</td><td class="sun">29</td></tr>
<tr><td class="mon">30</td><td class="tue">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
   

.HTMLCalendar以表格的形式返回HTML代码。Calendar.SUNDAY表示格式化日历中的第一天是星期日,在上边的例子中,使用了Calendar.MONDAY。因此,我们可以在输出中看到表示中的第一天是星期一。

Iterating through dates of a month

import calendar

c = calendar.TextCalendar(calendar.MONDAY)
for i in c.itermonthdays(2017, 8):
    print(i, end =    )
print(  )
for name in calendar.month_name:
    print(name, end =    )
print(  )
for day in calendar.day_name:
    print(day, end =    )
   
Output:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0 0 0
 January February March April May June July August September October November December
Monday Tuesday Wednesday Thursday Friday Saturday Sunday
   

Regular Expressions

非特殊字符匹配

Regular Expression Examples

Web Data Handling

  • Make a Request
  • Read
  • Get Code
  • HTML Parsing
  • JSON Parsing
  • XML Parsing

Make a Request

 

import urllib.request ## urllib module is used to send request and receive response from a server. It can used to get html / JSON / XML data from an api.

webData = request.urlopen(“http://www.google.com”) ## It opens a connection to google.com and returns an object of class http.client.HTTPResponse

Read
.read()返回网页的HTML数据。

Get Code
.getcode() 返回连接建立的状态代码。

HTML Parsing

 

from html.parser import HTMLParser

class MyHTMLParser(HTMLParser):
    def error(self, message):
        pass

parser = MyHTMLParser()
f = open(“check.html”)
if f.mode ==  r :  # file successfully opened
    contents = f.read()
    parser.feed(contents)

JSON Parsing

 

import json
json_data = json.loads(response)

XML Parsing

 

import xml.dom.minidom
doc = minidom.parse(“check.xml”)

Asyncio

  • Definition
  • asyncio.run
  • Socket with Asyncio
  • Move File
  • Readline

asyncio是Python 3.5中包含的一个库,采用非常非常明确的异步编程方法:只有标记为async的方法编写的代码才能以异步方式调用任何代码。

asyncio.run

Python 3.7中的新功能

 


现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。



分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

![](https://img-blog.csdnimg.cn/img_convert/21b2604bd33c4b6713f686ddd3fe5aff.png)



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值