小编Mel*_*art的帖子

Python三元表达式

所以这里是一个简单的对象创建和使用Java中的1行三元表达式进行赋值.

Interval newInterval = previous.end <= current.end ? new Interval(previous.start, current.end : new Interval(previous.start, previous.end)
Run Code Online (Sandbox Code Playgroud)

python等价物是,

new_interval = Interval(previous.start, current.end) if previous.end <= current.end else Interval(previous.start, previous.end)
Run Code Online (Sandbox Code Playgroud)

我的问题是有更多的pythonic方法来写这个吗?

python ternary-operator

2
推荐指数
1
解决办法
70
查看次数

MySQL 中主键没有默认值

我试图在 MySQL 中做最简单的事情并收到错误。我创建一个运行此查询的表。

create table STATION
( ID int NOT NULL
, CITY varchar(21)
, STATE varchar(2)
, LAT_N int
, LONG_N int
, primary key(ID) );
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试将一些数据插入表中,

INSERT INTO STATION 
(CITY, STATE, LAT_N, LONG_N) VALUES 
("Buffalo", "NY", 123, 233);
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误, ERROR 1364 (HY000): Field 'ID' doesn't have a default value

ID不是应该默认为0并且自动递增吗?

mysql

2
推荐指数
1
解决办法
6777
查看次数

Django 将项目添加到多对多关系中

我是 django 的新手,因此提出了这个问题。我有以下具有多对多关系的 Feed 对象和 User 对象

class Feed(Base):
    headline = models.CharField(max_length=255)
    link = models.CharField(max_length=255)
    summary = models.TextField()
    reader = models.ManyToManyField(User, through='Bookmark')

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(unique=True, max_length=255)
    mobile = PhoneNumberField(null=True)
    username = models.CharField(null=True, unique=True, max_length=255)
    full_name = models.CharField(max_length=255, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

两者通过 Bookmark 对象相关。

class Bookmark(Base):
    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
    feed = models.ForeignKey(Feed, on_delete=models.CASCADE, null=True)
Run Code Online (Sandbox Code Playgroud)

我的问题是,

  1. 如何向用户添加书签(或更确切地说提要)?

  2. 如何获取用户已添加书签的所有提要?

任何帮助表示赞赏。

python django python-3.x

2
推荐指数
1
解决办法
5712
查看次数

django 中的一对一关系序列化

我有以下内容User

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(unique=True, max_length=255)
    username = models.CharField(null=False, unique=True, max_length=255)
    full_name = models.CharField(max_length=255, blank=True, null=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    is_active = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)

还有下面这个UserProfile模型,

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, )
    level = models.CharField(default="Noob", max_length=255)
    reputation = models.IntegerField(default=0)
    status = models.CharField(max_length=255, null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

用户与 具有一对一的关系Profile。这是UserSerializer

class UserSerializer(serializers.ModelSerializer):
    password = serializers.CharField(write_only=True)
    location = LocationSerializer(read_only=True)
    profile = UserProfileSerializer(read_only=True)

    class Meta:
        model = models.User
        fields = (
            'id', 'email', 'mobile', 'username', …
Run Code Online (Sandbox Code Playgroud)

python django django-serializer django-rest-framework

2
推荐指数
1
解决办法
1873
查看次数

将标准输出捕获到变量中

这可能是一个幼稚的问题,但我真的不知道该怎么做。我提交了一个 spark 作业,并得到以下输出。

运行作业成功。提交编号:driver-20170824224209-0001

我想以编程方式查询此作业的状态。如何使用控制台中的输出使用 bash 脚本将 id 提取到变量。任何帮助表示赞赏。

bash

2
推荐指数
1
解决办法
1178
查看次数

晶格上的点

我在编码采访中遇到了这个问题。

汉娜在格子中移动,每个点都可以用一对整数表示。她从A点移动到B点,然后向右转90度,开始移动直到到达晶格上的第一个点。找出她要达到的目标?本质上,问题归结为找到与直线垂直线相交的第一个点。有人可以提供伪代码或代码片段来说明我该如何解决吗?

algorithm geometry coordinate-systems data-structures mathematical-lattices

2
推荐指数
1
解决办法
1334
查看次数

绘制一个numpy数组作为直方图

我使用以下代码来绘制一个numpy数组作为直方图。我最终得到的只是一个盒子。

from sys import argv as a
import numpy as np
import matplotlib.pyplot as plt

r = list(map(int, (a[1], a[2], a[3], a[4], a[5])))
s = np.array([int((x - min(r))/(max(r) - min(r)) * 10) for x in r])
plt.hist(s, normed=True, bins=5)
plt.show()
Run Code Online (Sandbox Code Playgroud)

使用以下输入运行程序22 43 11 34 26

如何获得带有y轴表示列表元素高度的直方图。

python numpy matplotlib

1
推荐指数
1
解决办法
8896
查看次数

无法访问继承的 Python 类中的父属性

这是我的父类,

class BaseResource:
    def __init__(self):
        self.logger = logging.getLogger(__name__)
        fmt = '[%(asctime)s] [%(levelname)s] [%(message)s] [--> %(pathname)s [%(process)d]:]'
        logging.basicConfig(format=fmt, level=logging.DEBUG)

    def log(self, msg):
        self.logger.debug(msg)
Run Code Online (Sandbox Code Playgroud)

这是我继承的对象,

class SendOTP(BaseResource):

    def __init__(self):
        super(BaseResource, self).__init__()

    def on_post(self, req, res):
        self.logger.log("[FAILURE]..unable to read from POST data")
Run Code Online (Sandbox Code Playgroud)

这会引发以下错误,

AttributeError: 'SendOTP' object has no attribute 'logger'
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么。

python inheritance

1
推荐指数
1
解决办法
2475
查看次数

计算 Django 项目中的代码行数

我使用这个 shell 脚本来计算 Django 项目中的代码行数,

find . -name "*.py" -type f -exec grep . {} \; | wc -l
Run Code Online (Sandbox Code Playgroud)

如何修改它以不计算迁移脚本?本质上,这意味着不按名称计算任何子文件夹内的任何内容migrations

python django bash

1
推荐指数
1
解决办法
1343
查看次数

从特定提交创建PR

我想通过一次提交来创建PR,所以我用commit SHA签出一个新分支,

git checkout -b new-branch 8517c80183607461ea
Run Code Online (Sandbox Code Playgroud)

如何从这里创建PR?

git github

1
推荐指数
1
解决办法
491
查看次数